28 #include<pni/core/types.hpp>
29 #include<pni/core/error.hpp>
32 #include "../exceptions.hpp"
37 #include "../container_io_config.hpp"
74 typedef boost::spirit::qi::expectation_failure<iterator_type>
112 : sequence_(get_rule_from_config(config))
132 buffer_type container;
136 if(!qi::parse(s.begin(),s.end(),(*sequence_)>qi::eoi,container))
139 "Error parsing sequence!");
145 "Cannot parse array data from string: "
156 for(
auto e: container)
165 "Error during type conversion!");
default conversion trait
Definition: conversion_trait.hpp:46
std::vector< read_type > buffer_type
buffer type used for reading
Definition: vector_parser.hpp:82
conversion_trait< T > trait_type
conversion trait used during parsing
Definition: vector_parser.hpp:78
container IO configuration
Definition: container_io_config.hpp:66
general parser related error
Definition: exceptions.hpp:99
static result_type convert(read_type &&v)
conversion function
Definition: conversion_trait.hpp:61
ITERT iterator_type
input iterator type
Definition: vector_parser.hpp:72
Definition: spirit_container_traits.hpp:33
parser for primitive types
Definition: parsers/parser.hpp:62
container parser
Definition: sequence_rule.hpp:59
static rule_ptr get_rule_from_config(const container_io_config &c)
Definition: vector_parser.hpp:90
Definition: cbf_reader.hpp:41
std::unique_ptr< rule_type > rule_ptr
Definition: vector_parser.hpp:86
char separator() const
get separator symbol
Definition: container_io_config.cpp:60
get_sequence_rule< ITERT, buffer_type >::type rule_type
rule type
Definition: vector_parser.hpp:85
std::vector< T > result_type
result type for the parser
Definition: vector_parser.hpp:70
char start_symbol() const
get start symbol
Definition: container_io_config.cpp:66
boost::spirit::qi::expectation_failure< iterator_type > expectation_error
parser exception type
Definition: vector_parser.hpp:75
rule_ptr sequence_
rule type to parse the sequence
Definition: vector_parser.hpp:88
T read_type
the type to read
Definition: conversion_trait.hpp:51
result_type operator()(const core::string &s) const
parse a string
Definition: vector_parser.hpp:127
parser(const container_io_config &config=container_io_config())
default constructor
Definition: vector_parser.hpp:110
trait_type::read_type read_type
data type to read
Definition: vector_parser.hpp:80
char stop_symbol() const
get stop symbol
Definition: container_io_config.cpp:72