#include <Attribute.hpp>
| Public Types | |
| typedef detail::Attribute_Impl | ImplType | 
| Public Member Functions | |
| Attribute (const std::string &name, bool value) | |
| constructors  More... | |
| Attribute (const std::string &name, bool value, const std::string &units) | |
| Attribute (const std::string &name, bool value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, bool value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, double value) | |
| Attribute (const std::string &name, double value, const std::string &units) | |
| Attribute (const std::string &name, double value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, double value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, const OSOptionalQuantity &value) | |
| Upon construction, will be of type Quantity or Unit, as appropriate.  More... | |
| Attribute (const std::string &name, const Quantity &value) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const Quantity &value, const std::string &source=std::string()) | |
| Attribute (const std::string &name, const Unit &value) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const Unit &value, const std::string &source=std::string()) | |
| Attribute (const std::string &name, int value) | |
| Attribute (const std::string &name, int value, const std::string &units) | |
| Attribute (const std::string &name, int value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, int value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, unsigned value) | |
| Attribute (const std::string &name, unsigned value, const std::string &units) | |
| Attribute (const std::string &name, unsigned value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, unsigned value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, const char *value) | |
| Attribute (const std::string &name, const char *value, const std::string &units) | |
| Attribute (const std::string &name, const char *value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const char *value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, const std::string &value) | |
| Attribute (const std::string &name, const std::string &value, const std::string &units) | |
| Attribute (const std::string &name, const std::string &value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const std::string &value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value) | |
| Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value, const std::string &units) | |
| Attribute (const std::string &name, const std::vector< openstudio::Attribute > &value, const boost::optional< std::string > &units) | |
| Attribute (const openstudio::UUID &uuid, const openstudio::UUID &versionUUID, const std::string &name, const boost::optional< std::string > &displayName, const std::vector< openstudio::Attribute > &value, const boost::optional< std::string > &units, const std::string &source=std::string()) | |
| Attribute (const QDomElement &element) | |
| Attribute (const Attribute &other) | |
| template<typename T > | |
| T | cast () const | 
| cast to type T, can throw std::bad_cast  More... | |
| void | clearDisplayName () | 
| clear the display name  More... | |
| void | clearSource () | 
| clear the data source  More... | |
| Attribute | clone () const | 
| boost::optional< std::string > | displayName (bool returnName=false) const | 
| get the display name.  More... | |
| boost::optional< Attribute > | findChildByName (const std::string &name) const | 
| find child attribute by name  More... | |
| std::string | name () const | 
| get the name  More... | |
| bool | operator== (const Attribute &other) const | 
| comparison  More... | |
| template<typename T > | |
| boost::optional< T > | optionalCast () const | 
| cast to optional of type T  More... | |
| bool | saveToXml (const openstudio::path &path) const | 
| write object and all children out as xml to path.  More... | |
| bool | setDisplayName (const std::string &displayName) | 
| set the display name  More... | |
| void | setSource (const std::string &source) | 
| set the data source  More... | |
| bool | setUnits (const std::string &units) | 
| set the units  More... | |
| void | setValue (bool value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (int value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (unsigned value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (double value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const Quantity &value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const Unit &value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const char *value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const std::string &value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const std::vector< Attribute > &value) | 
| set value. throws if wrong type.  More... | |
| void | setValue (const QVariant &value) | 
| std::string | source () const | 
| get the (optional) data source  More... | |
| std::string | toString () const | 
| If attribute is a simple type (non-vector), prints attribute's value to std::string as simply as possible.  More... | |
| QDomDocument | toXml () const | 
| write object and all children to xml  More... | |
| boost::optional< std::string > | units () const | 
| get the units  More... | |
| openstudio::UUID | uuid () const | 
| std::vector< Attribute > | valueAsAttributeVector () const | 
| get value as attribute vector  More... | |
| bool | valueAsBoolean () const | 
| get value as a bool  More... | |
| double | valueAsDouble () const | 
| get value as double  More... | |
| int | valueAsInteger () const | 
| get value as int  More... | |
| Quantity | valueAsQuantity () const | 
| get value as Quantity  More... | |
| QVariant | valueAsQVariant () const | 
| get value as qvariant  More... | |
| std::string | valueAsString () const | 
| get value as string  More... | |
| Unit | valueAsUnit () const | 
| get value as Unit  More... | |
| unsigned | valueAsUnsigned () const | 
| get value as unsigned  More... | |
| AttributeValueType | valueType () const | 
| get the attribute value type  More... | |
| openstudio::UUID | versionUUID () const | 
| Static Public Member Functions | |
| static boost::optional< Attribute > | fromQVariant (const std::string &name, const QVariant &value, const boost::optional< std::string > &units=boost::none) | 
| static constructor from QVariant  More... | |
| static boost::optional< Attribute > | loadFromXml (const openstudio::path &path) | 
| static constructor from xml  More... | |
| static boost::optional< Attribute > | loadFromXml (const QDomDocument &doc) | 
| static constructor from loaded xml  More... | |
| Protected Member Functions | |
| Attribute (const std::shared_ptr< detail::Attribute_Impl > &impl) | |
| Related Functions | |
| (Note that these are not member functions.) | |
| typedef std::vector< Attribute > | AttributeVector | 
| Attribute | createAttributeFromVector (const std::string &name, std::vector< int > value) | 
| Attribute | createAttributeFromVector (const std::string &name, std::vector< double > value) | 
| std::vector< double > | getDoubleVectorFromAttribute (const Attribute &attribute) | 
| std::vector< int > | getIntVectorFromAttribute (const Attribute &attribute) | 
| bool | isConsistent (const Attribute &candidate, const AttributeDescription &description) | 
| Returns true if candidate and description have matching names and types.  More... | |
| std::ostream & | operator<< (std::ostream &os, const Attribute &attribute) | 
| Prints Attribute XML to os.  More... | |
| typedef boost::optional < Attribute > | OptionalAttribute | 
| bool | prepareForDisplay (Attribute &attribute, const AttributeDescription &description) | 
| Copies description's display name over to attribute.  More... | |
| bool | saveJSON (const std::vector< Attribute > &attributes, const openstudio::path &p, bool overwrite=false) | 
| Saves attributes in a flat json file.  More... | |
| std::ostream & | toJSON (const std::vector< Attribute > &attributes, std::ostream &os) | 
| Puts attributes out to os in a flat json format.  More... | |
| std::string | toJSON (const std::vector< Attribute > &attributes) | 
| Returns attributes as a string in a flat json format.  More... | |
| std::string | toJSONWithoutMetadata (const std::vector< Attribute > &attributes) | 
| Returns attributes as a string in a flat json format.  More... | |
| std::vector< Attribute > | toVectorOfAttribute (const openstudio::path &pathToJson) | 
| Deserializes the flat attribute json format.  More... | |
| std::vector< Attribute > | toVectorOfAttribute (std::istream &json) | 
| Deserializes the flat attribute json format.  More... | |
| std::vector< Attribute > | toVectorOfAttribute (const std::string &json) | 
| Deserializes the flat attribute json format.  More... | |
An attribute is a name value pair where the value can be a bool, double, int, string, or vector of other attributes.
The ability for an attribute value to be a vector of other attributes allows for flexible, hierarchical structures. Our convention is that attributes which correspond to plain old data (int, string, etc) are named in lower camel case, this corresponds to a member or variable name. Attributes of vector type are named in upper camel case to correspond to a class or struct name.
| typedef detail::Attribute_Impl openstudio::Attribute::ImplType | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| bool | value | ||
| ) | 
constructors
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| bool | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| bool | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| bool | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| double | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| double | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| double | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| double | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const OSOptionalQuantity & | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const Quantity & | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| const Quantity & | value, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const Unit & | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| const Unit & | value, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| int | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| int | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| int | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| int | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| unsigned | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| unsigned | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| unsigned | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| unsigned | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const char * | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const char * | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const char * | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| const char * | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::string & | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::string & | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::string & | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| const std::string & | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::vector< openstudio::Attribute > & | value | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::vector< openstudio::Attribute > & | value, | ||
| const std::string & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const std::string & | name, | 
| const std::vector< openstudio::Attribute > & | value, | ||
| const boost::optional< std::string > & | units | ||
| ) | 
| openstudio::Attribute::Attribute | ( | const openstudio::UUID & | uuid, | 
| const openstudio::UUID & | versionUUID, | ||
| const std::string & | name, | ||
| const boost::optional< std::string > & | displayName, | ||
| const std::vector< openstudio::Attribute > & | value, | ||
| const boost::optional< std::string > & | units, | ||
| const std::string & | source = std::string() | ||
| ) | 
| 
 | explicit | 
| openstudio::Attribute::Attribute | ( | const Attribute & | other | ) | 
| 
 | protected | 
| 
 | inline | 
cast to type T, can throw std::bad_cast
| void openstudio::Attribute::clearDisplayName | ( | ) | 
clear the display name
| void openstudio::Attribute::clearSource | ( | ) | 
clear the data source
| Attribute openstudio::Attribute::clone | ( | ) | const | 
| boost::optional<std::string> openstudio::Attribute::displayName | ( | bool | returnName = false | ) | const | 
get the display name.
if returnName and the display name is empty, will return name() instead.
| boost::optional<Attribute> openstudio::Attribute::findChildByName | ( | const std::string & | name | ) | const | 
find child attribute by name
| 
 | static | 
static constructor from QVariant
| 
 | static | 
static constructor from xml
| 
 | static | 
static constructor from loaded xml
| std::string openstudio::Attribute::name | ( | ) | const | 
get the name
| bool openstudio::Attribute::operator== | ( | const Attribute & | other | ) | const | 
comparison
| 
 | inline | 
cast to optional of type T
| bool openstudio::Attribute::saveToXml | ( | const openstudio::path & | path | ) | const | 
write object and all children out as xml to path.
| bool openstudio::Attribute::setDisplayName | ( | const std::string & | displayName | ) | 
set the display name
| void openstudio::Attribute::setSource | ( | const std::string & | source | ) | 
set the data source
| bool openstudio::Attribute::setUnits | ( | const std::string & | units | ) | 
set the units
| void openstudio::Attribute::setValue | ( | bool | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | int | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | unsigned | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | double | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const Quantity & | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const Unit & | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const char * | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const std::string & | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const std::vector< Attribute > & | value | ) | 
set value. throws if wrong type.
| void openstudio::Attribute::setValue | ( | const QVariant & | value | ) | 
| std::string openstudio::Attribute::source | ( | ) | const | 
get the (optional) data source
| std::string openstudio::Attribute::toString | ( | ) | const | 
If attribute is a simple type (non-vector), prints attribute's value to std::string as simply as possible.
Numeric types print in high precision. Attribute vectors are printed as XML.
| QDomDocument openstudio::Attribute::toXml | ( | ) | const | 
write object and all children to xml
| boost::optional<std::string> openstudio::Attribute::units | ( | ) | const | 
get the units
| openstudio::UUID openstudio::Attribute::uuid | ( | ) | const | 
| std::vector<Attribute> openstudio::Attribute::valueAsAttributeVector | ( | ) | const | 
get value as attribute vector
| bool openstudio::Attribute::valueAsBoolean | ( | ) | const | 
get value as a bool
| double openstudio::Attribute::valueAsDouble | ( | ) | const | 
get value as double
| int openstudio::Attribute::valueAsInteger | ( | ) | const | 
get value as int
| QVariant openstudio::Attribute::valueAsQVariant | ( | ) | const | 
get value as qvariant
| std::string openstudio::Attribute::valueAsString | ( | ) | const | 
get value as string
| unsigned openstudio::Attribute::valueAsUnsigned | ( | ) | const | 
get value as unsigned
| AttributeValueType openstudio::Attribute::valueType | ( | ) | const | 
get the attribute value type
| openstudio::UUID openstudio::Attribute::versionUUID | ( | ) | const | 
| 
 | related | 
| 
 | related | 
| 
 | related | 
| 
 | related | 
Returns true if candidate and description have matching names and types.
| 
 | related | 
Prints Attribute XML to os.
| 
 | related | 
| 
 | related | 
Copies description's display name over to attribute.
Will return false if !isConsistent(attribute,description).
| 
 | related | 
| 
 | related | 
| 
 | related | 
| 
 | related | 
| 
 | related | 
Deserializes the flat attribute json format.
| 
 | related | 
Deserializes the flat attribute json format.
| 
 | related | 
Deserializes the flat attribute json format.