Minsky
classdesc::RESTProcessPtr< minsky::ItemPtr > Struct Template Reference

#include <itemRS.h>

Inheritance diagram for classdesc::RESTProcessPtr< minsky::ItemPtr >:
Inheritance graph
Collaboration diagram for classdesc::RESTProcessPtr< minsky::ItemPtr >:
Collaboration graph

Public Member Functions

RESTProcessBase * RPItem () const
 returns the RESTProcess item corresponding to this, if it exists, null if it doesn't ownership not returned More...
 
 RESTProcessPtr (minsky::ItemPtr &ptr)
 
json_pack_t process (const string &remainder, const json_pack_t &arguments) override
 
json_pack_t signature () const override
 
json_pack_t list () const override
 
json_pack_t type () const override
 

Public Attributes

minsky::ItemPtrptr
 

Detailed Description

template<>
struct classdesc::RESTProcessPtr< minsky::ItemPtr >

Definition at line 52 of file itemRS.h.

Constructor & Destructor Documentation

◆ RESTProcessPtr()

classdesc::RESTProcessPtr< minsky::ItemPtr >::RESTProcessPtr ( minsky::ItemPtr ptr)
inline

Definition at line 67 of file itemRS.h.

67 : ptr(ptr) {}

Member Function Documentation

◆ list()

json_pack_t classdesc::RESTProcessPtr< minsky::ItemPtr >::list ( ) const
inlineoverride

Definition at line 84 of file itemRS.h.

84  {
85  if (auto rp=RPItem())
86  return rp->list();
87  return json_pack_t(json5_parser::mArray());
88  }
RESTProcessBase * RPItem() const
returns the RESTProcess item corresponding to this, if it exists, null if it doesn&#39;t ownership not re...
Definition: itemRS.h:57

◆ process()

json_pack_t classdesc::RESTProcessPtr< minsky::ItemPtr >::process ( const string &  remainder,
const json_pack_t &  arguments 
)
inlineoverride

Definition at line 68 of file itemRS.h.

69  {
70  if (auto rp=RPItem())
71  return rp->process(remainder, arguments);
72  return {};
73  }
RESTProcessBase * RPItem() const
returns the RESTProcess item corresponding to this, if it exists, null if it doesn&#39;t ownership not re...
Definition: itemRS.h:57

◆ RPItem()

RESTProcessBase* classdesc::RESTProcessPtr< minsky::ItemPtr >::RPItem ( ) const
inline

returns the RESTProcess item corresponding to this, if it exists, null if it doesn't ownership not returned

Definition at line 57 of file itemRS.h.

58  {
59  RESTProcess_t rp;
60  ptr->RESTProcess(rp,"");
61  auto i=rp.find("");
62  if (i!=rp.end())
63  return i->second.get();
64  return nullptr;
65  }

◆ signature()

json_pack_t classdesc::RESTProcessPtr< minsky::ItemPtr >::signature ( ) const
inlineoverride

Definition at line 74 of file itemRS.h.

75  {
76  json_pack_t r;
77  if (ptr)
78  {
79  vector<classdesc::Signature> signature{{ptr->classType(),{}}, {ptr->classType(),{ptr->classType()}}};
80  r<<signature;
81  }
82  return r;
83  }
json_pack_t signature() const override
Definition: itemRS.h:74

◆ type()

json_pack_t classdesc::RESTProcessPtr< minsky::ItemPtr >::type ( ) const
inlineoverride

Definition at line 89 of file itemRS.h.

89  {
90  if (auto rp=RPItem())
91  return rp->type();
92  return json_pack_t("void");}
RESTProcessBase * RPItem() const
returns the RESTProcess item corresponding to this, if it exists, null if it doesn&#39;t ownership not re...
Definition: itemRS.h:57

Member Data Documentation

◆ ptr

minsky::ItemPtr& classdesc::RESTProcessPtr< minsky::ItemPtr >::ptr

Definition at line 54 of file itemRS.h.


The documentation for this struct was generated from the following file: