NIST Biometric Evaluation Framework
Software components for biometric technology evaluations
be_mpi_csvprocessor.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_MPI_CSVPROCESSOR_H_
12#define BE_MPI_CSVPROCESSOR_H_
13
14#include <be_mpi_csvresources.h>
16
17namespace BiometricEvaluation
18{
19 namespace MPI
20 {
31 {
32 public:
59 const std::string &propertiesFileName);
60
61 virtual ~CSVProcessor() = default;
62
82 virtual void
84 const uint64_t lineNum,
85 const std::string &line) = 0;
86
87#if 0
104 virtual void
105 processTokens(
106 const uint64_t lineNum,
107 const std::vector<std::string> &tokens) = 0;
108#endif
109
110 /* Implement WorkPackageProcessor interface */
111 virtual std::shared_ptr<WorkPackageProcessor>
113 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
114
115 virtual void
117 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
118
120 MPI::WorkPackage &workPackage);
121
122 protected:
123 std::shared_ptr<MPI::CSVResources>
125
126 private:
127 std::shared_ptr<MPI::CSVResources> _resources;
128 };
129 }
130}
131
132#endif /* BE_MPI_CSVPROCESSOR_H_ */
133
An implementation of a work package processor that will extract lines (and optionally tokenize) a lin...
virtual void processLine(const uint64_t lineNum, const std::string &line)=0
Method implemented by child classes to perform an action using each record from the Record Store.
std::shared_ptr< MPI::CSVResources > getResources()
void processWorkPackage(MPI::WorkPackage &workPackage)
Process the data contents of the work package.
virtual void performInitialization(std::shared_ptr< IO::Logsheet > &logsheet)=0
Initialization function to be called before work is distributed to the work package processor.
virtual std::shared_ptr< WorkPackageProcessor > newProcessor(std::shared_ptr< IO::Logsheet > &logsheet)=0
Obtain an object that will process work packages.
CSVProcessor(const std::string &propertiesFileName)
Construct a work package processor with the given properties.
A class to represent a piece of work to be acted upon by a processor.
Represents an object that processes the contents of a work package.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...