* Class representing a TileDB temporal policy object. * * @details * A TemporalPolicy object dictates the timestamp usage with which an Array is * opened. TimeTravel represents opening at a single point in time, while * TimestampStartEnd will open between the two specified times. * Note that this class was created specifically to maintain timestamps for the * Array class, but its semantics
| 80 | * @endcode |
| 81 | */ |
| 82 | class TemporalPolicy { |
| 83 | /** |
| 84 | * Make available the internals of TemporalPolicy to Array. |
| 85 | */ |
| 86 | friend class Array; |
| 87 | |
| 88 | public: |
| 89 | TemporalPolicy() |
| 90 | : timestamp_start_(0) |
| 91 | , timestamp_end_(UINT64_MAX) {}; |
| 92 | |
| 93 | TemporalPolicy(const TimeTravelMarker&, uint64_t timestamp) |
| 94 | : timestamp_start_(0) |
| 95 | , timestamp_end_(timestamp) {}; |
| 96 | |
| 97 | TemporalPolicy( |
| 98 | const TimestampStartEndMarker&, |
| 99 | uint64_t timestamp_start, |
| 100 | uint64_t timestamp_end) |
| 101 | : timestamp_start_(timestamp_start) |
| 102 | , timestamp_end_(timestamp_end) {}; |
| 103 | |
| 104 | private: |
| 105 | inline uint64_t timestamp_start() const { |
| 106 | return timestamp_start_; |
| 107 | } |
| 108 | |
| 109 | inline uint64_t timestamp_end() const { |
| 110 | return timestamp_end_; |
| 111 | } |
| 112 | |
| 113 | const uint64_t timestamp_start_; |
| 114 | const uint64_t timestamp_end_; |
| 115 | }; |
| 116 | |
| 117 | /** Marker class to enforce an AES_256_GCM encryption type. */ |
| 118 | class AESGCMEncryptionTypeMarker {}; |
no outgoing calls