SBN_RESOURCES_BINARY_OPERATION
SBN_RESOURCES_BINARY_OPERATOR
SBN_RESOURCES_UNARY_OPERATION
enum resources: uint32_t
  • total_threads =0
  • total_memory =1
  • hostname =2
  • size =3
enum Expressions: uint8_t
  • Symbol =1
  • Constant =2
  • Name =3
  • Not =4
  • And =5
  • Or =6
  • Xor =7
  • Less_than =8
  • Less_or_equal =9
  • Equal =10
  • Greater_than =11
  • Greater_or_equal =12
  • Add =13
  • Subtract =14
  • Multiply =15
  • Quotient =16
  • Remainder =17
  • Negate =18
class sbn::resources::Name
Base classes
Methods
  • operator=(Name &&) -> Name &
  • Name(Name &&)
  • operator=(const Name &) -> Name &
  • Name(const Name &)
  • ~Name()
  • Name()
  • write(std::ostream & out) const -> voidvirtual
  • read(sys::byte_buffer & in) -> voidvirtual
  • write(sys::byte_buffer & out) const -> voidvirtual
  • evaluate(const Bindings & context) const -> Anyvirtual
  • Name(const char * name)explicit
  • Name(const std::string & name)explicit
  • Name(std::string && name)explicit
class sbn::resources::Expression
Derived classes
Methods
  • write(std::ostream & out) const -> voidvirtual
  • read(sys::byte_buffer & in) -> voidvirtual
  • write(sys::byte_buffer & out) const -> voidvirtual
  • evaluate(const Bindings & context) const -> Anyvirtual
  • operator=(Expression &&) -> Expression &
  • Expression(Expression &&)
  • operator=(const Expression &) -> Expression &
  • Expression(const Expression &)
  • ~Expression()virtual
  • Expression()
class sbn::resources::Symbol
Base classes
Methods
  • operator=(Symbol &&) -> Symbol &
  • Symbol(Symbol &&)
  • operator=(const Symbol &) -> Symbol &
  • Symbol(const Symbol &)
  • ~Symbol()
  • Symbol()
  • write(std::ostream & out) const -> voidvirtual
  • read(sys::byte_buffer & in) -> voidvirtual
  • write(sys::byte_buffer & out) const -> voidvirtual
  • evaluate(const Bindings & context) const -> Anyvirtual
  • Symbol(resources name)explicit
class sbn::resources::Bindings
Types
  • using value_type = Any
Methods
  • size() -> constexpr size_t
  • operator=(Bindings &&) -> Bindings &
  • Bindings(Bindings &&)
  • operator=(const Bindings &) -> Bindings &
  • Bindings(const Bindings &)
  • ~Bindings()virtual
  • Bindings()
  • write(std::ostream & out) const -> void
  • read(sys::byte_buffer & in) -> void
  • write(sys::byte_buffer & out) const -> void
  • clear() -> void
  • operator[](size_t i) -> value_type &
  • operator[](size_t i) const -> value_type
  • unset(const std::string & s) -> void
  • operator[](const std::string & s) -> value_type &
  • operator[](const std::string & s) const -> value_type
  • operator[](resources r) -> value_type &
  • operator[](resources r) const -> const value_type &
Friends
  • operator!=
  • operator==
class sbn::resources::Constant
Base classes
Methods
  • operator=(Constant &&) -> Constant &
  • Constant(Constant &&)
  • operator=(const Constant &) -> Constant &
  • Constant(const Constant &)
  • ~Constant()
  • Constant()
  • write(std::ostream & out) const -> voidvirtual
  • read(sys::byte_buffer & in) -> voidvirtual
  • write(sys::byte_buffer & out) const -> voidvirtual
  • evaluate(const Bindings & context) const -> Anyvirtual
  • Constant(Any value)explicit
class sbn::resources::Any
Enumerations
  • enum Type: uint8_t
Fields
  • char * _string
  • uint64_t _u64
  • bool _b
Methods
  • operator=(Any && rhs) -> Any &
  • Any(Any && rhs)
  • operator=(const Any & rhs) -> Any &
  • Any(const Any &)
  • ~Any()
  • Any()
  • swap(Any & rhs) -> void
  • read(sys::byte_buffer & in) -> void
  • write(std::ostream & out) const -> void
  • write(sys::byte_buffer & out) const -> void
  • operator!=(const Any & rhs) const -> bool
  • operator==(const Any & rhs) const -> bool
  • unsigned_integer() const -> uint64_t
  • boolean() const -> bool
  • type() const -> Type
  • operator=(bool b) -> Any &
  • operator=(uint64_t n) -> Any &
  • operator=(uint32_t n) -> Any &
  • operator=(uint16_t n) -> Any &
  • operator=(uint8_t n) -> Any &
  • operator=(const char * s) -> Any &
  • operator=(const std::string & s) -> Any &
  • Any(const std::string & s)
  • Any(const char * s)
  • Any(const char * s, size_t n)
  • Any(uint64_t value)
  • Any(uint32_t value)
  • Any(uint16_t value)
  • Any(uint8_t value)
  • Any(bool value)
operator!=(expression_ptr && a, const Any & b) -> expression_ptr
resource_to_string(resources r) -> const char *
read(sys::byte_buffer & in) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATOR(%, Remainder)
operator<<(std::ostream & out, const Expression & rhs) -> std::ostream &
operator==(const Bindings & a, const Bindings & b) -> bool
read(const std::string & s, int max_depth) -> expression_ptr
operator!=(expression_ptr && a, resources b) -> expression_ptr
operator!=(resources a, expression_ptr && b) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATION(Greater_than)
SBN_RESOURCES_BINARY_OPERATION(Equal)
operator-(expression_ptr && a) -> expression_ptr
operator!=(const Bindings & a, const Bindings & b) -> bool
SBN_RESOURCES_BINARY_OPERATOR(||, Or)
is_valid_name(const char * first, const char * last) -> bool
read(const char * s, int max_depth) -> expression_ptr
operator!=(resources a, const Any & b) -> expression_ptr
operator>>(sys::byte_buffer & in, Bindings & rhs) -> sys::byte_buffer &
operator<<(std::ostream & out, const Bindings & rhs) -> std::ostream &
SBN_RESOURCES_BINARY_OPERATOR(/, Quotient)
read(const char * begin, const char * end, int max_depth) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATOR(+, Add)
SBN_RESOURCES_BINARY_OPERATION(Or)
SBN_RESOURCES_BINARY_OPERATOR(>=, Greater_or_equal)
SBN_RESOURCES_BINARY_OPERATION(Less_than)
SBN_RESOURCES_BINARY_OPERATION(Quotient)
string_to_resource(const char * s, size_t n) -> resources
SBN_RESOURCES_BINARY_OPERATOR(<=, Less_or_equal)
operator!=(const Any & a, resources b) -> expression_ptr
SBN_RESOURCES_UNARY_OPERATION(Negate)
operator-(resources r) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATOR(-, Subtract)
SBN_RESOURCES_BINARY_OPERATION(Subtract)
operator!=(expression_ptr && a, expression_ptr && b) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATION(Xor)
make_expression(Expressions type) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATION(Add)
SBN_RESOURCES_UNARY_OPERATION(Not)
SBN_RESOURCES_BINARY_OPERATOR(Greater_than)
SBN_RESOURCES_BINARY_OPERATION(Remainder)
operator!(resources r) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATOR(Equal)
operator<<(std::ostream & out, const Any & rhs) -> std::ostream &
SBN_RESOURCES_BINARY_OPERATION(Greater_or_equal)
SBN_RESOURCES_BINARY_OPERATOR()
operator!(expression_ptr && a) -> expression_ptr
read(std::istream & in, int max_depth) -> expression_ptr
SBN_RESOURCES_BINARY_OPERATION(And)
operator<<(sys::byte_buffer & out, const Bindings & rhs) -> sys::byte_buffer &
swap(Any & a, Any & b) -> void
SBN_RESOURCES_BINARY_OPERATION(Multiply)
SBN_RESOURCES_BINARY_OPERATION(Less_or_equal)
SBN_RESOURCES_BINARY_OPERATOR^ Xor
SBN_RESOURCES_BINARY_OPERATOR * Multiply
SBN_RESOURCES_BINARY_OPERATOR && And