23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/block.h" 31 #ifndef PRIMITIVE_VALUE_H 32 #include "SheafSystem/primitive_value.h" 41 class namespace_poset;
43 class schema_poset_member;
48 SHEAF_DLL_SPEC std::ostream&
operator << (std::ostream &os,
const arg_list& p);
53 SHEAF_DLL_SPEC std::istream&
operator >> (std::istream &is, arg_list& p);
102 void put_type(
int xid);
135 return (name == xother.
name) && (value == xother.
value);
174 unsigned int ct()
const;
184 int index(
const std::string& xname)
const;
189 const std::string& name(
int xi)
const;
194 int type(
int xi)
const;
200 int type(
const std::string& xname)
const;
241 bool parsing_name()
const;
246 bool parsing_value()
const;
251 bool parsing_error()
const;
261 bool xuse_table_schema,
262 bool xauto_access)
const;
270 bool xuse_table_schema,
271 bool xauto_access)
const;
284 bool xuse_table_schema,
285 bool xauto_access)
const;
296 bool xuse_table_schema,
297 bool xauto_access)
const;
317 bool contains_arg(
const std::string& xname)
const;
322 bool contains_args(
const arg_list& xother)
const;
327 arg_type& arg(
const std::string& xname);
332 const arg_type& arg(
const std::string& xname)
const;
347 void push_back(
const arg_type& xarg);
360 enum parse_state_type {GET_NAME, GET_VALUE, ERROR};
365 parse_state_type _parse_state;
402 #endif // ifndef ARG_LIST_H primitive_value value
The value of the argument.
bool empty() const
True if and only if name is empty.
The default name space; a poset which contains other posets as members.
A path defined by a poset name and a member name separated by a forward slash ('/'). For example: "cell_definitions/triangle".
T & operator+=(T &xresult, const T &xother)
x0 += x1 (self-allocated for volatile types); synonym for add_equal(x0, x1).
The internal argument type.
std::string name
The name of the argument.
bool operator==(const arg_type &xother) const
True if and only if name and value of this are identical to name and value, respectively, of xother.
A whitespace separated list of arguments. Insertion operaters are used to insert arguments into the l...
primitive_type
Type ids for sheaf primitives.
SHEAF_DLL_SPEC size_t deep_size(const dof_descriptor_array &xp, bool xinclude_shallow=true)
The deep size of the referenced object of type dof_descriptor_array.
arg_type(const std::string &xname)
Create an instance with name == xname and default value.
primitive_type type() const
The type of the argument.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
arg_type(const char *xname)
Create an instance with name == xname and default value.
arg_type()
Create an instance with empty name.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.
void put_type(primitive_type xid)
Sets the type of the argument to xid.
Abstract object wrapper for an instance of a primitive type.
An auto_block with a no-initialization initialization policy.
A client handle for a poset member which has been prepared for use as a schema.