WSF
TabularSet.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2019 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef TABULARSET_HPP
12#define TABULARSET_HPP
13
14#include "Set.hpp"
15
16namespace usmtf
17{
19class USMTF_EXPORT TabularSet : public Set
20{
21public:
23 using Series = std::vector<const Field*>;
25 using NSeries = std::vector<Series>;
26 TabularSet(const std::string& aSTF, const std::vector<Field>& aFields, const size_t aHeaderOffset = 1) noexcept;
27
28protected:
29 Series GetRow(const size_t aRowIndex) const;
30 std::vector<std::string> GetRowContent(const size_t aRowIndex) const;
31 Series GetColumn(const size_t aColumnIndex) const;
32 std::vector<std::string> GetColumnContent(const size_t aColumnIndex) const;
33 bool IsValidFieldCount() const noexcept;
34 size_t GetRowCount() const noexcept;
35 size_t GetColumnCount() const noexcept;
36 const Field& GetField(const size_t aRow, const size_t aColumn) const;
37 const std::string& GetFieldContent(const size_t aRow, const size_t aColumn) const;
38 const size_t mHeaderOffset;
39};
40} // namespace usmtf
41#endif
Definition Field.hpp:48
Set(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition Set.cpp:22
std::vector< const Field * > Series
Row Or Column.
Definition TabularSet.hpp:23
const size_t mHeaderOffset
Definition TabularSet.hpp:38
Series GetColumn(const size_t aColumnIndex) const
Definition TabularSet.cpp:48
std::vector< std::string > GetRowContent(const size_t aRowIndex) const
Definition TabularSet.cpp:36
const std::string & GetFieldContent(const size_t aRow, const size_t aColumn) const
Definition TabularSet.cpp:99
std::vector< Series > NSeries
Multiple Rows Or Columns.
Definition TabularSet.hpp:25
const Field & GetField(const size_t aRow, const size_t aColumn) const
Definition TabularSet.cpp:95
std::vector< std::string > GetColumnContent(const size_t aColumnIndex) const
Definition TabularSet.cpp:60
bool IsValidFieldCount() const noexcept
Definition TabularSet.cpp:72
size_t GetColumnCount() const noexcept
Definition TabularSet.cpp:89
Series GetRow(const size_t aRowIndex) const
Definition TabularSet.cpp:24
size_t GetRowCount() const noexcept
Definition TabularSet.cpp:78
TabularSet(const std::string &aSTF, const std::vector< Field > &aFields, const size_t aHeaderOffset=1) noexcept
Definition TabularSet.cpp:18
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved