aboutsummaryrefslogtreecommitdiffstats
path: root/include/datetime.h
diff options
context:
space:
mode:
authoripknHama <ipknhama@gmail.com>2015-02-20 13:44:46 +0900
committeripknHama <ipknhama@gmail.com>2015-02-20 13:44:46 +0900
commit48811ce4a47200567796730d7467526683f265d7 (patch)
treef54890849a58160c39fc67073316c1349463d4f6 /include/datetime.h
parent5507e98ce25f8468e37652b58a3512f40869af99 (diff)
downloadcrow-48811ce4a47200567796730d7467526683f265d7.tar.gz
crow-48811ce4a47200567796730d7467526683f265d7.zip
remove thread_local variables
* move thread_local variables forget_cached_date_str, timer_queue into each threads local stack
Diffstat (limited to 'include/datetime.h')
-rw-r--r--include/datetime.h77
1 files changed, 0 insertions, 77 deletions
diff --git a/include/datetime.h b/include/datetime.h
deleted file mode 100644
index 0a47379..0000000
--- a/include/datetime.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#pragma once
-
-#include <string>
-#include <boost/date_time/local_time/local_time.hpp>
-#include <boost/filesystem.hpp>
-
-namespace crow
-{
- // code from http://stackoverflow.com/questions/2838524/use-boost-date-time-to-parse-and-create-http-dates
- class DateTime
- {
- public:
- DateTime()
- : m_dt(boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr()))
- {
- }
- DateTime(const std::string& path)
- : DateTime()
- {
- from_file(path);
- }
-
- // return datetime string
- std::string str()
- {
- static const std::locale locale_(std::locale::classic(), new boost::local_time::local_time_facet("%a, %d %b %Y %H:%M:%S GMT") );
- std::string result;
- try
- {
- std::stringstream ss;
- ss.imbue(locale_);
- ss << m_dt;
- result = ss.str();
- }
- catch (std::exception& e)
- {
- std::cerr << "Exception: " << e.what() << std::endl;
- }
- return result;
- }
-
- // update datetime from file mod date
- std::string from_file(const std::string& path)
- {
- try
- {
- boost::filesystem::path p(path);
- boost::posix_time::ptime pt = boost::posix_time::from_time_t(
- boost::filesystem::last_write_time(p));
- m_dt = boost::local_time::local_date_time(pt, boost::local_time::time_zone_ptr());
- }
- catch (std::exception& e)
- {
- std::cout << "Exception: " << e.what() << std::endl;
- }
- return str();
- }
-
- // parse datetime string
- void parse(const std::string& dt)
- {
- static const std::locale locale_(std::locale::classic(), new boost::local_time::local_time_facet("%a, %d %b %Y %H:%M:%S GMT") );
- std::stringstream ss(dt);
- ss.imbue(locale_);
- ss >> m_dt;
- }
-
- // boolean equal operator
- friend bool operator==(const DateTime& left, const DateTime& right)
- {
- return (left.m_dt == right.m_dt);
- }
-
- private:
- boost::local_time::local_date_time m_dt;
- };
-}