namespace Json {
#if __GNUC__ >= 6
typedef std::scoped_ptr<CharReader> const CharReaderPtr;
typedef typename std::unique_ptr<CharReader> const CharReaderPtr;
#else
typedef std::auto_ptr<CharReader> CharReaderPtr;
#endif
typedef std::scoped_ptr<StreamWriter> const StreamWriterPtr;
typedef typename std::unique_ptr<StreamWriter> const StreamWriterPtr;
typedef std::auto_ptr<StreamWriter> StreamWriterPtr;