LINUX.ORG.RU

История изменений

Исправление 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;