История изменений
Исправление PRN, (текущая версия) :
Приблизительно так
В cjson.hpp:
#include <boost/property_tree/ptree_fwd.hpp>
#include <memory>
class CJSON
{
public:
CJSON();
~CJSON();
private:
std::unique_ptr<boost::property_tree::ptree> pt;
};
В cjson.cpp:
#include "cjson.hpp"
#include <boost/property_tree/ptree.hpp>
CJSON::CJSON() = default;
CJSON::~CJSON() = default;
Или еще в pimpl запихнуть можно. Тогда boost совсем «протекать» не будет.
Исправление PRN, :
Приблизительно так
В cjson.hpp:
#include <boost/property_tree/ptree_fwd.hpp>
#include <memory>
class CJSON
{
public:
CJSON();
~CJSON();
private:
std::unique_ptr<boost::property_tree::ptree> pt;
};
Или еще в pimpl запихнуть можно. Тогда boost совсем "протекать" не будет.
В cjson.cpp:
#include "cjson.hpp"
#include <boost/property_tree/ptree.hpp>
CJSON::CJSON() = default;
CJSON::~CJSON() = default;
Исправление PRN, :
Приблизительно так
В cjson.hpp:
#include <boost/property_tree/ptree_fwd.hpp>
#include <memory>
class CJSON
{
public:
CJSON();
~CJSON();
private:
std::unique_ptr<boost::property_tree::ptree> pt;
};
В cjson.cpp:
#include "cjson.hpp"
#include <boost/property_tree/ptree.hpp>
CJSON::CJSON() = default;
CJSON::~CJSON() = default;
Исправление PRN, :
Приблизительно так
В hpp:
#include <boost/property_tree/ptree_fwd.hpp>
#include <memory>
class CJSON
{
public:
CJSON();
~CJSON();
private:
std::unique_ptr<boost::property_tree::ptree> pt;
};
В cpp:
#include "cjson.hpp"
#include <boost/property_tree/ptree.hpp>
CJSON::CJSON() = default;
CJSON::~CJSON() = default;
Исходная версия PRN, :
Приблизительно так
В hpp:
#include <boost/property_tree/ptree_fwd.hpp>
#include <memory>
class CJSON
{
public:
CJSON();
~CJSON();
private:
std::unique_ptr<boost::property_tree::ptree> pt;
};
В cpp:
#include <boost/property_tree/ptree.hpp>
CJSON::CJSON() = default;
CJSON::~CJSON() = default;