#include "thread_idx_cache.hxx"
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/xml_oarchive.hpp>
-#include <boost/serialization/nvp.hpp>
+#include <boost/archive/binary_iarchive.hpp>
+#include <boost/archive/binary_oarchive.hpp>
#include <boost/serialization/vector.hpp>
#include <boost/filesystem.hpp>
-#include <boost/exception.hpp>
#include <boost/foreach.hpp>
#include <boost/xpressive/xpressive.hpp>
#include <boost/unordered_map.hpp>
boost::filesystem::is_regular_file(cache_xml)) {
std::ifstream ifs(cache_xml.file_string().c_str());
try {
- boost::archive::xml_iarchive ia(ifs);
- ia >> boost::serialization::make_nvp("ThreadIdxCache", cache_vector);
+ boost::archive::binary_iarchive ia(ifs);
+ ia >> cache_vector;
} catch (const boost::archive::archive_exception& e) {
// TODO thread safety.
std::cerr << "ThreadIdxCache::from_xml(): " << e.what() << std::endl;
if (!misc::create_directories(cache_xml.parent_path())) return;
std::ofstream ofs(cache_xml.file_string().c_str());
try {
- boost::archive::xml_oarchive oa(ofs);
- oa << boost::serialization::make_nvp("ThreadIdxCache", cache);
+ boost::archive::binary_oarchive oa(ofs);
+ oa << cache;
} catch (const boost::archive::archive_exception& e) {
std::cerr << "ThreadIdxCache::to_xml(): " << e.what() << std::endl;
}
std::vector<ThreadIdxCache> ThreadIdxCache::from_directory(
const boost::filesystem::path& idx_dir) {
- const boost::filesystem::path cache_xml = idx_dir / "cache.xml";
+ const boost::filesystem::path cache_xml = idx_dir / ".cache";
std::vector<ThreadIdxCache> cache_vector = ThreadIdxCache::from_xml(cache_xml);
boost::unordered_map<ThreadID, ThreadIdxCache> caches;
#define THREAD_IDX_CACHE_HXX
#include <boost/serialization/access.hpp>
-#include <boost/serialization/nvp.hpp>
#include <boost/filesystem.hpp>
#include <boost/unordered_map.hpp>
#include <boost/unordered_set.hpp>
friend class boost::serialization::access;
template <typename ArchiveType>
void serialize(ArchiveType& ar, const unsigned int version) {
- ar & boost::serialization::make_nvp("ID", id_);
- ar & boost::serialization::make_nvp("Title", title_);
- ar & boost::serialization::make_nvp("IdxLastModified", idx_last_modified_);
- ar & boost::serialization::make_nvp("LineCount", line_count_);
+ ar & id_;
+ ar & title_;
+ ar & idx_last_modified_;
+ ar & line_count_;
}
};