NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
be_io_recordstoreunion.h
Go to the documentation of this file.
1/*
2 * This software was developed at the National Institute of Standards and
3 * Technology (NIST) by employees of the Federal Government in the course
4 * of their official duties. Pursuant to title 17 Section 105 of the
5 * United States Code, this software is not subject to copyright protection
6 * and is in the public domain. NIST assumes no responsibility whatsoever for
7 * its use by other parties, and makes no guarantees, expressed or implied,
8 * about its quality, reliability, or any other characteristic.
9 */
10
11#ifndef BE_IO_RECORDSTOREUNION_H_
12#define BE_IO_RECORDSTOREUNION_H_
13
14#include <map>
15#include <memory>
16#include <string>
17#include <utility>
18#include <vector>
19
20#include <be_io.h>
21#include <be_io_recordstore.h>
22#include <be_memory_autoarray.h>
23
24namespace BiometricEvaluation
25{
26 namespace IO
27 {
37 {
38 public:
47 const std::map<const std::string, const std::string>
48 &recordStores);
49
61 std::map<const std::string,
62 const std::string>::iterator first,
63 std::map<const std::string,
64 const std::string>::iterator last);
65
74 std::initializer_list<std::pair<
75 const std::string, const std::string>>
76 recordStores);
77
90 const std::map<const std::string,
91 const std::shared_ptr<
93 &recordStores);
94
110 std::map<const std::string, const std::shared_ptr<
112 first,
113 std::map<const std::string, const std::shared_ptr<
115 last);
116
129 std::initializer_list<std::pair<const std::string,
130 const std::shared_ptr<
132 recordStores);
133
144 std::shared_ptr<BiometricEvaluation::IO::RecordStore>
146 const std::string &name)
147 const;
148
157 std::vector<std::string>
159 const;
160
161 /*
162 * RecordStore Operations.
163 */
164
186 std::map<const std::string,
189 const std::string &key)
190 const;
191
214 std::map<const std::string, uint64_t>
216 const std::string &key)
217 const;
218
219 /* Prevent copying of RecordStoreUnion objects */
222 = delete;
223
226
227 protected:
229 class Impl;
230
242
250 void
252 std::shared_ptr<RecordStoreUnion::Impl> &pimpl);
253
254 private:
256 std::shared_ptr<RecordStoreUnion::Impl> pimpl;
257 };
258 }
259}
260
261#endif /* BE_IO_RECORDSTOREUNION_H_ */
A class to represent a data storage mechanism.
A collection of N related read-only RecordStores, operated on simultaneously.
RecordStoreUnion()
Empty constructor for children.
RecordStoreUnion(std::initializer_list< std::pair< const std::string, const std::string > > recordStores)
RecordStoreUnion constructor.
RecordStoreUnion & operator=(const RecordStoreUnion &)=delete
RecordStoreUnion(std::map< const std::string, const std::shared_ptr< BiometricEvaluation::IO::RecordStore > >::iterator first, std::map< const std::string, const std::shared_ptr< BiometricEvaluation::IO::RecordStore > >::iterator last)
RecordStoreUnion constructor.
RecordStoreUnion(const RecordStoreUnion &)=delete
std::vector< std::string > getNames() const
Obtain the names of RecordStores set during construction.
std::map< const std::string, BiometricEvaluation::Memory::uint8Array > read(const std::string &key) const
Read a key from all member RecordStores.
std::map< const std::string, uint64_t > length(const std::string &key) const
Retrieve the length of a key from all member RecordStores.
void setImpl(const std::shared_ptr< RecordStoreUnion::Impl > &pimpl)
Change the implementation of this object.
RecordStoreUnion(const std::map< const std::string, const std::string > &recordStores)
RecordStoreUnion constructor.
RecordStoreUnion(std::initializer_list< std::pair< const std::string, const std::shared_ptr< BiometricEvaluation::IO::RecordStore > > > recordStores)
RecordStoreUnion constructor.
RecordStoreUnion(const std::map< const std::string, const std::shared_ptr< BiometricEvaluation::IO::RecordStore > > &recordStores)
RecordStoreUnion constructor.
RecordStoreUnion(std::map< const std::string, const std::string >::iterator first, std::map< const std::string, const std::string >::iterator last)
RecordStoreUnion constructor.
std::shared_ptr< BiometricEvaluation::IO::RecordStore > getRecordStore(const std::string &name) const
Obtain a pointer to an open RecordStore.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...