https://github.com/ElsevierSoftwareX/SOFTX_2019_219
Raw File
Tip revision: c6d23f52bf7d7de2698a41518f6c2638decc9d6b authored by Konrad Werys on 26 October 2018, 15:54:52 UTC
minor changes
Tip revision: c6d23f5
TomatoParser.h
/*!
 * \file TomatoParser.h
 * \author Konrad Werys
 * \date 2018/08/19
 */

#ifndef Tomato_TomatoPARSER_H
#define Tomato_TomatoPARSER_H

#include <map>
#include <string>
#include <vector>

#include "yaml.h"

#include "KWUtil.h"

namespace Ox {

    template<typename MeasureType>
    class TomatoParser {

    public:

        typedef std::map<std::string, std::string> ScalarMapType;
        typedef std::map<std::string, std::vector<std::string> > SequenceMapType;

        std::string _filePath;
        ScalarMapType _scalars;
        SequenceMapType _sequences;

        /**
         * based on https://www.wpsoftware.net/andrew/pages/libyaml.html
         * @return success/failure
         */
        int parse();

        void disp();

        template< typename TYPE >
        void printVector(std::vector<TYPE> myVector, std::string myVectorName);

    };
} // namespace Ox

#include "TomatoParser.hxx"

#endif //Tomato_TomatoPARSER_H
back to top