Skip to content

Commit

Permalink
Timestamping modification
Browse files Browse the repository at this point in the history
  • Loading branch information
AsulconS committed Jun 13, 2020
1 parent 45c951d commit ce8d571
Show file tree
Hide file tree
Showing 6 changed files with 127 additions and 5 deletions.
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
.vscode/
legacy/
*.exe

*.dot
*.png

*.bat
*.obj
*.png
*.lib
*.exe
49 changes: 49 additions & 0 deletions include/core/time.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/********************************************************************************
* *
* MAVeD - MilanverDatabase *
* Copyright (c) 2020 Adrian Bedregal (AsulconS) *
* *
* This software is provided 'as-is', without any express or implied *
* warranty. In no event will the authors be held liable for any damages *
* arising from the use of this software. *
* *
* Permission is granted to anyone to use this software for any purpose, *
* including commercial applications, and to alter it and redistribute it *
* freely, subject to the following restrictions: *
* *
* 1. The origin of this software must not be misrepresented; you must not *
* claim that you wrote the original software. If you use this software *
* in a product, an acknowledgment in the product documentation would be *
* appreciated but is not required. *
* 2. Altered source versions must be plainly marked as such, and must not be *
* misrepresented as being the original software. *
* 3. This notice may not be removed or altered from any source distribution. *
* *
********************************************************************************/

#ifndef MAVeD_TIME_HPP
#define MAVeD_TIME_HPP

#include <ctime>
#include <chrono>
#include <iomanip>
#include <sstream>

namespace mav
{
class Timestamp
{
public:
Timestamp();
virtual ~Timestamp();

void stamp();
const std::string& str();

private:
std::string m_timestampStr;
};

} // namespace mav

#endif // MAVeD_TIME_HPP
2 changes: 2 additions & 0 deletions include/dstr/BTree.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#define MAVeD_BTREE_HPP

#include <core/common.hpp>
#include <core/time.hpp>

#include <core/attachedPair.hpp>
#include <core/node.hpp>
#include <core/strCast.hpp>
Expand Down
20 changes: 19 additions & 1 deletion include/dstr/BTree.inl
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,24 @@ inline void BTree<T, N>::exportToFile(const std::string& title, bool isFinal)
std::fstream of;
of.open(fn, std::ios::out | std::ios::binary);

Timestamp now;
now.stamp();

std::string header0
{
"/********************************************************************************\r\n"
" * MAVeD - MilanverDatabase *\r\n"
" * Copyright (c) 2020 Adrian Bedregal (AsulconS) *\r\n"
" * *\r\n"
" * Generated at *\r\n"
"********************************************************************************/\r\n"
"\r\n"
};
for(int i = 0; i < now.str().size(); ++i)
{
header0[348 + i] = now.str()[i];
}

std::string header1
{
"graph IBST\r\n"
Expand All @@ -309,7 +327,7 @@ inline void BTree<T, N>::exportToFile(const std::string& title, bool isFinal)
" // --------------------------------------------------------------------------------\r\n"
};

std::string header {header1 + header2};
std::string header {header0 + header1 + header2};

std::string labels
{
Expand Down
2 changes: 0 additions & 2 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@

#include <maved.hpp>

#include <random>

int main()
{
mav::BTree<int, 4> bTree {};
Expand Down
52 changes: 52 additions & 0 deletions src/core/time.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/********************************************************************************
* *
* MAVeD - MilanverDatabase *
* Copyright (c) 2020 Adrian Bedregal (AsulconS) *
* *
* This software is provided 'as-is', without any express or implied *
* warranty. In no event will the authors be held liable for any damages *
* arising from the use of this software. *
* *
* Permission is granted to anyone to use this software for any purpose, *
* including commercial applications, and to alter it and redistribute it *
* freely, subject to the following restrictions: *
* *
* 1. The origin of this software must not be misrepresented; you must not *
* claim that you wrote the original software. If you use this software *
* in a product, an acknowledgment in the product documentation would be *
* appreciated but is not required. *
* 2. Altered source versions must be plainly marked as such, and must not be *
* misrepresented as being the original software. *
* 3. This notice may not be removed or altered from any source distribution. *
* *
********************************************************************************/

#include <core/time.hpp>

namespace mav
{
Timestamp::Timestamp()
: m_timestampStr {}
{
}

Timestamp::~Timestamp()
{
}

void Timestamp::stamp()
{
std::chrono::time_point<std::chrono::system_clock> now {std::chrono::system_clock::now()};
std::time_t in_time_t {std::chrono::system_clock::to_time_t(now)};

std::stringstream ss;
ss << std::put_time(std::localtime(&in_time_t), "%Y-%m-%d %X");
m_timestampStr = ss.str();
}

const std::string& Timestamp::str()
{
return m_timestampStr;
}

} // namespace mav

0 comments on commit ce8d571

Please sign in to comment.