SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
14 #ifndef smtk_attribute_DateTimeItem_h
15 #define smtk_attribute_DateTimeItem_h
17 #include "smtk/CoreExports.h"
18 #include "smtk/attribute/CopyAssignmentOptions.h"
19 #include "smtk/attribute/Item.h"
20 #include "smtk/common/DateTimeZonePair.h"
28 class DateTimeItemDefinition;
38 std::size_t numberOfValues()
const {
return m_values.size(); }
39 bool setNumberOfValues(std::size_t newSize);
40 std::size_t numberOfRequiredValues()
const;
43 return m_values[element];
45 bool setValue(const ::smtk::common::DateTimeZonePair& val) {
return this->setValue(0, val); }
46 bool setValue(std::size_t element, const ::smtk::common::DateTimeZonePair& val);
47 void reset()
override;
48 virtual bool setToDefault(std::size_t elementIndex = 0);
50 virtual bool isUsingDefault(std::size_t elementIndex)
const;
52 virtual bool isUsingDefault()
const;
53 bool hasDefault()
const;
54 virtual bool isSet(std::size_t element = 0)
const
56 return m_isSet.size() > element ? m_isSet[element] :
false;
59 virtual void unset(std::size_t element = 0)
61 assert(m_isSet.size() > element);
62 m_isSet[element] =
false;
78 bool isValidInternal(
bool useCategories,
const std::set<std::string>& categories)
const override;
79 std::vector<::smtk::common::DateTimeZonePair> m_values;
80 std::vector<bool> m_isSet;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
Type
Definition: Item.h:56
Class used to specify copy and assignment options.
Definition: CopyAssignmentOptions.h:272
Definition: DateTimeItemDefinition.h:25
virtual Status assign(const smtk::attribute::ConstItemPtr &sourceItem, const CopyAssignmentOptions &options=CopyAssignmentOptions())
Definition: Item.cxx:274
smtk::shared_ptr< const smtk::attribute::ItemDefinition > ConstItemDefinitionPtr
Definition: PublicPointerDefs.h:482
Log messages for later presentation to a user or a file.
Definition: Logger.h:94
smtk::shared_ptr< const smtk::attribute::DateTimeItemDefinition > ConstDateTimeItemDefinitionPtr
Definition: PublicPointerDefs.h:554
The base class for items that hold information inside an attribute.
Definition: Item.h:47
A return value for methods that need to indicate both success/failure and modification/stasis.
Definition: Status.h:30
#define smtkTypeMacro(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:128
smtk::shared_ptr< const smtk::attribute::Item > ConstItemPtr
Definition: PublicPointerDefs.h:476
Definition: DateTimeItem.h:29
Definition: DateTimeZonePair.h:24
Represent a (possibly composite) value according to a definition.
Definition: Attribute.h:50