38 #ifndef OME_FILES_TIFF_FIELD_H 39 #define OME_FILES_TIFF_FIELD_H 44 #include <ome/files/tiff/Tags.h> 45 #include <ome/files/tiff/Exception.h> 149 std::shared_ptr<Impl>
impl;
155 template<
typename Tag>
162 typedef typename ::ome::files::detail::tiff::TagProperties<tag_category>::value_type
value_type;
192 get(value_type& value)
const;
200 set(
const value_type& value);
218 operator value_type()
273 { this->value = value.
value; }
282 operator= (
const value_type& value)
360 { this->value = value.
value; }
369 operator= (
const value_type& value)
415 #endif // OME_FILES_TIFF_FIELD_H virtual ~FieldBase()
Destructor.
Definition: Field.cpp:195
void get(value_type &value) const
Get the value for this field.
V & value
The wrapped value.
Definition: Field.h:248
ValueProxy(value_type &value)
Construct from value.
Definition: Field.h:257
Field & operator=(const Field &field)
Assign a field value.
Definition: Field.h:209
Internal implementation details of FieldBase.
Definition: Field.cpp:61
virtual ~Field()
Destructor.
Definition: Field.h:183
unsigned int tag_type
Tag number.
Definition: Types.h:68
int writeCount() const
Get field write count requirement.
Definition: Field.cpp:264
Field value.
Definition: Field.h:331
int readCount() const
Get field read count requirement.
Definition: Field.cpp:250
Value()
Constructor.
Definition: Field.h:344
V value
The value.
Definition: Field.h:339
std::shared_ptr< Impl > impl
Private implementation details.
Definition: Field.h:147
Field(std::shared_ptr< IFD > ifd, tag_category tag)
Constructor.
Definition: Field.h:174
Open Microscopy Environment C++.
::ome::files::detail::tiff::TagProperties< tag_category >::value_type value_type
The tag value type (C++ type).
Definition: Field.h:162
V value_type
The value type being wrapped.
Definition: Field.h:244
std::shared_ptr< IFD > getIFD() const
Get the directory this field belongs to.
Definition: Field.cpp:284
FieldBase(std::shared_ptr< IFD > ifd, tag_type tag)
Constructor.
Definition: Field.cpp:189
~Value()
Destructor.
Definition: Field.h:349
Common functionality for fields of all types.
Definition: Field.h:59
std::string name() const
Get field tag name.
Definition: Field.cpp:200
~ValueProxy()
Destructor.
Definition: Field.h:262
Tag tag_category
The tag type (C++ enum type).
Definition: Field.h:160
Field representing a tag value.
Definition: Field.h:156
Proxy for getting and setting a Field value.
Definition: Field.h:240
Type type() const
Get field data type.
Definition: Field.cpp:222
V value_type
The value type being wrapped.
Definition: Field.h:335
tag_type getWrappedTag(StringTag1 tag)
Get the TIFF tag number for the specified tag.
Definition: Tags.cpp:66
Image File Directory (IFD).
Definition: IFD.h:70
tag_category tag
The tag identifying this field.
Definition: Field.h:227
bool passCount() const
Get field count requirement.
Definition: Field.cpp:236
Type
Tag types.
Definition: Types.h:71
tag_type tagNumber() const
Get field tag number.
Definition: Field.cpp:278