CASM
1.1.0
A Clusters Approach to Statistical Mechanics
DataFormatterFilter_impl.hh
Go to the documentation of this file.
1
#ifndef CASM_DataFormatterFilter_impl
2
#define CASM_DataFormatterFilter_impl
3
4
#include "
casm/casm_io/dataformatter/DataFormatterFilter.hh
"
5
#include "
casm/casm_io/dataformatter/DataFormatter_impl.hh
"
6
#include "
casm/casm_io/dataformatter/DataStream.hh
"
7
8
namespace
CASM
{
9
10
template
<
typename
DataObject>
11
DataFormatterFilter<DataObject>::DataFormatterFilter
(
12
DataFormatter<DataObject>
const
&_filter)
13
: m_filter(_filter) {}
14
15
template
<
typename
DataObject>
16
bool
DataFormatterFilter<DataObject>::operator()
(
17
DataObject
const
&
object
)
const
{
18
ValueDataStream<bool>
_stream;
19
_stream << m_filter(
object
);
20
return
_stream.
value
();
21
}
22
23
template
<
typename
DataObject>
24
DataFormatterFilter<DataObject>
make_data_formatter_filter
(
25
std::string
const
&filter_expr,
26
DataFormatterDictionary<DataObject>
const
&_dict) {
27
return
DataFormatterFilter<DataObject>
{_dict.
parse
(filter_expr)};
28
}
29
30
template
<
typename
DataObject>
31
DataFormatterFilter<DataObject>
make_data_formatter_filter
(
32
std::vector<std::string>
const
&filter_expr,
33
DataFormatterDictionary<DataObject>
const
&_dict) {
34
return
DataFormatterFilter<DataObject>
{_dict.
parse
(filter_expr)};
35
}
36
37
}
// namespace CASM
38
39
#endif
DataFormatter_impl.hh
DataFormatterFilter.hh
DataStream.hh
CASM::DataFormatterDictionary< DataObject >
CASM::DataFormatterDictionary::parse
DataFormatter< DataObject > parse(const std::string &input) const
Use the vector of strings to build a DataFormatter<DataObject>
Definition:
DataFormatter_impl.hh:369
CASM::DataFormatter< DataObject >
CASM::ValueDataStream
Definition:
DataStream.hh:227
CASM::ValueDataStream::value
const T & value() const
Definition:
DataStream.hh:256
CASM
Main CASM namespace.
Definition:
APICommand.hh:8
CASM::make_data_formatter_filter
DataFormatterFilter< DataObject > make_data_formatter_filter(std::string const &filter_expr, DataFormatterDictionary< DataObject > const &_dict)
Definition:
DataFormatterFilter_impl.hh:24
CASM::DataFormatterFilter
Definition:
DataFormatterFilter.hh:9
CASM::DataFormatterFilter::DataFormatterFilter
DataFormatterFilter(DataFormatter< DataObject > const &_filter)
Definition:
DataFormatterFilter_impl.hh:11
CASM::DataFormatterFilter::operator()
bool operator()(DataObject const &object) const
Definition:
DataFormatterFilter_impl.hh:16
include
casm
casm_io
dataformatter
DataFormatterFilter_impl.hh
Generated on Tue Mar 23 2021 14:16:35 for CASM by
1.9.1