Всем привет! Недавно узнал о forward declaration и появился вопрос: у меня есть файл Log.h, со следующим "скелетом":
Log.h
class LogCollapserMaker
{
public:
class LogCollapser
{
public:
LogCollapser(uint32_t estimateCount);
bool estimated();
private:
boost::recursive_mutex m_collapserMutex;
const uint32_t m_estimateCount;
uint32_t m_count;
};
public:
typedef boost::shared_ptr<LogCollapser> LogCollapserSP;
LogCollapserSP logCollapser(const std::string& key, uint32_t estimateCount);
private:
boost::recursive_mutex m_mutex;
std::map<std::string, LogCollapserSP> m_logCollapserMap;
};
В файле Log.cpp находится вся реализация.
Как я могу использовать forward declaration с такой структурой?