1 #ifndef VTESTBED_IGES_DIRECTORY_ENTRY_HH 2 #define VTESTBED_IGES_DIRECTORY_ENTRY_HH 6 #include <vtestbed/iges/types.hh> 33 typedef Integer* pointer;
34 typedef const Integer* const_pointer;
35 typedef pointer iterator;
36 typedef const_pointer const_iterator;
37 typedef size_t size_type;
38 typedef Integer& reference;
39 typedef const Integer& const_reference;
43 Integer _entitytype = 0;
44 mutable Integer _parameterdata = 0;
45 Integer _structure = 0;
46 Integer _linefontpattern = 0;
49 Integer _transformation_matrix = 0;
50 Integer _display_associativity = 0;
51 char _status[8] {
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0'};
52 Integer _entitytype2 = 0;
53 Integer _lineweight = 0;
55 Integer _linecount = 0;
57 Integer _reserved1 = 0;
58 Integer _reserved2 = 0;
59 char _label[8] {
' ',
' ',
' ',
' ',
' ',
' ',
' ',
' '};
60 Integer _subscript = 0;
71 data()
const noexcept {
75 static constexpr
inline size_type
77 return sizeof(_fields) /
sizeof(Integer);
86 begin()
const noexcept {
92 return this->data() + this->size();
96 end()
const noexcept {
97 return this->data() + this->size();
101 operator[](size_type i) noexcept {
102 return this->_fields[i];
105 inline const_reference
106 operator[](size_type i)
const noexcept {
107 return this->_fields[i];
111 type()
const noexcept {
112 return this->_entitytype;
116 type(Integer rhs) noexcept {
117 this->_entitytype = rhs;
121 parameter_data(Integer number)
const {
122 this->_parameterdata = number;
126 sequence_number()
const noexcept {
127 return 2*this->_parameterdata - 1;
131 status(size_type i,
char ch) {
132 this->_status[i] = ch;
137 this->status(3, b ?
'3' :
'0');
152 #endif // vim:filetype=cpp