本文整理汇总了C++中TimeInfo类的典型用法代码示例。如果您正苦于以下问题:C++ TimeInfo类的具体用法?C++ TimeInfo怎么用?C++ TimeInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TimeInfo类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Execute
BOOL CMDHist::Execute(const std::string &verb, Player* mobile,std::vector<std::string> &args,int subcmd)
{
World* world = World::GetPtr();
Channel* chan=nullptr;
std::list <HistoryNode*> *history = nullptr;;
TimeInfo tm;
if (!args.size())
{
mobile->Message(MSG_ERROR,"Syntax: hist [channel name].");
return false;
}
chan=world->FindChannel(args[0]);
if (!chan)
{
mobile->Message(MSG_ERROR,"That channel doesn't exist.");
return false;
}
history=chan->GetHistory();
if ((!history) || (!history->size()))
{
mobile->Message(MSG_INFO,"There is no recorded history, perhaps you should say something?");
return true;
}
for (auto it: *history)
{
tm.Calculate(time(NULL) - it->when);
mobile->Message(MSG_LIST,tm.ToString() + ": " + it->message);
}
return true;
}
开发者ID:sorressean,项目名称:Aspen,代码行数:35,代码来源:com_gen.cpp
示例2: set_caret_timecode
//---------------------------------------------------------------------------------------
void ScoreCaretPositioner::set_caret_timecode(Caret* pCaret)
{
TimeInfo ti = m_pScoreCursor->get_time_info();
Timecode tc = ti.get_timecode();
TimeUnits tu = m_spState->time();
ostringstream ss;
ss << tc.bar << "." << tc.beat << "." << tc.n16th << "." << tc.ticks << " (" << tu << ")";
pCaret->set_timecode( ss.str() );
}
开发者ID:gouchi,项目名称:lenmus,代码行数:11,代码来源:lomse_caret_positioner.cpp
示例3: QVERIFY
void TestKeePass2Format::testXmlGroupRoot()
{
const Group* group = m_xmlDb->rootGroup();
QVERIFY(group);
QCOMPARE(group->uuid(), QUuid::fromRfc4122(QByteArray::fromBase64("lmU+9n0aeESKZvcEze+bRg==")));
QCOMPARE(group->name(), QString("NewDatabase"));
QCOMPARE(group->notes(), QString(""));
QCOMPARE(group->iconNumber(), 49);
QCOMPARE(group->iconUuid(), QUuid());
QVERIFY(group->isExpanded());
TimeInfo ti = group->timeInfo();
QCOMPARE(ti.lastModificationTime(), MockClock::datetimeUtc(2010, 8, 8, 17, 24, 27));
QCOMPARE(ti.creationTime(), MockClock::datetimeUtc(2010, 8, 7, 17, 24, 27));
QCOMPARE(ti.lastAccessTime(), MockClock::datetimeUtc(2010, 8, 9, 9, 9, 44));
QCOMPARE(ti.expiryTime(), MockClock::datetimeUtc(2010, 8, 8, 17, 24, 17));
QVERIFY(!ti.expires());
QCOMPARE(ti.usageCount(), 52);
QCOMPARE(ti.locationChanged(), MockClock::datetimeUtc(2010, 8, 8, 17, 24, 27));
QCOMPARE(group->defaultAutoTypeSequence(), QString(""));
QCOMPARE(group->autoTypeEnabled(), Group::Inherit);
QCOMPARE(group->searchingEnabled(), Group::Inherit);
QCOMPARE(group->lastTopVisibleEntry()->uuid(),
QUuid::fromRfc4122(QByteArray::fromBase64("+wSUOv6qf0OzW8/ZHAs2sA==")));
QCOMPARE(group->children().size(), 3);
QVERIFY(m_xmlDb->metadata()->recycleBin() == m_xmlDb->rootGroup()->children().at(2));
QCOMPARE(group->entries().size(), 2);
}
开发者ID:droidmonkey,项目名称:keepassx_http,代码行数:28,代码来源:TestKeePass2Format.cpp
示例4: QCOMPARE
void TestKeePass2Format::testXmlEntry2()
{
const Entry* entry = m_xmlDb->rootGroup()->entries().at(1);
QCOMPARE(entry->uuid(), QUuid::fromRfc4122(QByteArray::fromBase64("4jbADG37hkiLh2O0qUdaOQ==")));
QCOMPARE(entry->iconNumber(), 0);
QCOMPARE(entry->iconUuid(), QUuid::fromRfc4122(QByteArray::fromBase64("++vyI+daLk6omox4a6kQGA==")));
// TODO: test entry->icon()
QCOMPARE(entry->foregroundColor(), QColor(255, 0, 0));
QCOMPARE(entry->backgroundColor(), QColor(255, 255, 0));
QCOMPARE(entry->overrideUrl(), QString("http://override.net/"));
QCOMPARE(entry->tags(), QString(""));
const TimeInfo ti = entry->timeInfo();
QCOMPARE(ti.usageCount(), 7);
QList<QString> attrs = entry->attributes()->keys();
QCOMPARE(entry->attributes()->value("CustomString"), QString("isavalue"));
QVERIFY(attrs.removeOne("CustomString"));
QCOMPARE(entry->attributes()->value("Notes"), QString(""));
QVERIFY(attrs.removeOne("Notes"));
QCOMPARE(entry->attributes()->value("Password"), QString("Jer60Hz8o9XHvxBGcRqT"));
QVERIFY(attrs.removeOne("Password"));
QCOMPARE(entry->attributes()->value("Protected String"), QString("y")); // TODO: should have a protection attribute
QVERIFY(attrs.removeOne("Protected String"));
QCOMPARE(entry->attributes()->value("Title"), QString("Sample Entry 2"));
QVERIFY(attrs.removeOne("Title"));
QCOMPARE(entry->attributes()->value("URL"), QString("http://www.keepassx.org/"));
QVERIFY(attrs.removeOne("URL"));
QCOMPARE(entry->attributes()->value("UserName"), QString("notDEFUSERNAME"));
QVERIFY(attrs.removeOne("UserName"));
QVERIFY(attrs.isEmpty());
QCOMPARE(entry->attachments()->keys().size(), 1);
QCOMPARE(QString::fromLatin1(entry->attachments()->value("myattach.txt")), QString("abcdefghijk"));
QCOMPARE(entry->autoTypeEnabled(), true);
QCOMPARE(entry->autoTypeObfuscation(), 1);
QCOMPARE(entry->defaultAutoTypeSequence(), QString("{USERNAME}{TAB}{PASSWORD}{ENTER}"));
QCOMPARE(entry->autoTypeAssociations()->size(), 2);
const AutoTypeAssociations::Association assoc1 = entry->autoTypeAssociations()->get(0);
QCOMPARE(assoc1.window, QString("Target Window"));
QCOMPARE(assoc1.sequence, QString("{Title}{UserName}"));
const AutoTypeAssociations::Association assoc2 = entry->autoTypeAssociations()->get(1);
QCOMPARE(assoc2.window, QString("Target Window 2"));
QCOMPARE(assoc2.sequence, QString("{Title}{UserName} test"));
}
开发者ID:droidmonkey,项目名称:keepassx_http,代码行数:47,代码来源:TestKeePass2Format.cpp
示例5: WriteEnter
/**
* WriteEnter
*
* @param mask
*/
void WriteEnter(const char * mask, ...){
#if DEBUG
if (level == 0)
printf("\n");
for (int i=0; i<level; i++)
printf("\t");
va_list vl;
va_start(vl, mask);
vprintf(mask, vl);
va_end(vl);
level++;
TimeInfo ttis;
ttis.Start();
ttil.push_back(ttis);
#endif // DEBUG
}
开发者ID:mingan81,项目名称:PersonBGRemoving,代码行数:23,代码来源:Core.hpp
示例6: lastRead
TimeInfo FileInfo::lastRead() const
{
TimeInfo ti = TimeInfo::null();
if (exists()) {
#if defined (FC_OS_WIN32)
std::wstring wstr = toStdWString();
struct _stat st;
if (_wstat(wstr.c_str(), &st) == 0) {
ti.setTime_t(st.st_atime);
}
#elif defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN) || defined(FC_OS_MACOSX) || defined(FC_OS_BSD)
struct stat st;
if (stat(FileName.c_str(), &st) == 0) {
ti.setTime_t(st.st_atime);
}
#endif
}
return ti;
}
开发者ID:Barleyman,项目名称:FreeCAD_sf_master,代码行数:22,代码来源:FileInfo.cpp
示例7: writeTimes
void KdbxXmlWriter::writeTimes(const TimeInfo& ti)
{
m_xml.writeStartElement("Times");
writeDateTime("LastModificationTime", ti.lastModificationTime());
writeDateTime("CreationTime", ti.creationTime());
writeDateTime("LastAccessTime", ti.lastAccessTime());
writeDateTime("ExpiryTime", ti.expiryTime());
writeBool("Expires", ti.expires());
writeNumber("UsageCount", ti.usageCount());
writeDateTime("LocationChanged", ti.locationChanged());
m_xml.writeEndElement();
}
开发者ID:droidmonkey,项目名称:keepassx_http,代码行数:14,代码来源:KdbxXmlWriter.cpp
示例8:
inline bool operator==(const TimeInfo& left, const TimeInfo& right)
{
return left.nanoseconds() == right.nanoseconds();
}
开发者ID:albertleecn,项目名称:mesos,代码行数:4,代码来源:mesos.hpp
示例9: main
int main (int argc, char* argv[])
{
/** We create a command line parser. */
OptionsParser parser;
parser.push_back (new OptionOneParam (STR_URI_INPUT, "graph file", true));
IProperties* params = 0;
try {
/** We parse the user options. */
params = parser.parse (argc, argv);
}
catch (OptionFailure& e)
{
e.getParser().displayErrors (stdout);
e.getParser().displayHelp (stdout);
return EXIT_FAILURE;
}
// We create the graph with the bank and other options
Graph graph = Graph::load (params->getStr(STR_URI_INPUT));
// We create a graph marker.
GraphMarker<BranchingNode> marker (graph);
// We create an object for Breadth First Search for the de Bruijn graph.
BFS<BranchingNode> bfs (graph);
// We want to compute the distribution of connected components of the branching nodes.
// - key is a connected component class (for a given number of branching nodes for this component)
// - value is the number of times this component class occurs in the branching sub graph
map<size_t,Entry> distrib;
// We get an iterator for all nodes of the graph. We use a progress iterator to get some progress feedback
ProgressGraphIterator<BranchingNode,ProgressTimer> itBranching (graph.iterator<BranchingNode>(), "statistics");
// We want to know the number of connected components
size_t nbConnectedComponents = 0;
// We define some kind of unique identifier for a couple (indegree,outdegree)
map <InOut_t, size_t> topology;
size_t simplePathSizeMin = ~0;
size_t simplePathSizeMax = 0;
// We want time duration of the iteration
TimeInfo ti;
ti.start ("compute");
// We loop the branching nodes
for (itBranching.first(); !itBranching.isDone(); itBranching.next())
{
// We get branching nodes neighbors for the current branching node.
Graph::Vector<BranchingEdge> successors = graph.successors <BranchingEdge> (*itBranching);
Graph::Vector<BranchingEdge> predecessors = graph.predecessors<BranchingEdge> (*itBranching);
// We increase the occurrences number for the current couple (in/out) neighbors
topology [make_pair(predecessors.size(), successors.size())] ++;
// We loop the in/out neighbors and update min/max simple path size
for (size_t i=0; i<successors.size(); i++)
{
simplePathSizeMax = std::max (simplePathSizeMax, successors[i].distance);
simplePathSizeMin = std::min (simplePathSizeMin, successors[i].distance);
}
for (size_t i=0; i<predecessors.size(); i++)
{
simplePathSizeMax = std::max (simplePathSizeMax, predecessors[i].distance);
simplePathSizeMin = std::min (simplePathSizeMin, predecessors[i].distance);
}
// We skip already visited nodes.
if (marker.isMarked (*itBranching)) {
continue;
}
// We launch the breadth first search; we get as a result the set of branching nodes in this component
const set<BranchingNode>& component = bfs.run (*itBranching);
// We mark the nodes for this connected component
marker.mark (component);
// We update our distribution
distrib[component.size()].nbOccurs += 1;
// We update the number of connected components.
nbConnectedComponents++;
}
ti.stop ("compute");
// We compute the total number of branching nodes in all connected components.
size_t sumOccurs = 0;
size_t sumKmers = 0;
for (map<size_t,Entry>::iterator it = distrib.begin(); it != distrib.end(); it++)
{
sumOccurs += it->first*it->second.nbOccurs;
sumKmers += it->second.nbKmers;
}
//.........这里部分代码省略.........
开发者ID:pombredanne,项目名称:gatb-core,代码行数:101,代码来源:dbgtopology.cpp
示例10: getCurrentTime
TimeInfo getCurrentTime()
{
TimeInfo timeInfo;
timeInfo.set_nanoseconds(process::Clock::now().duration().ns());
return timeInfo;
}
开发者ID:OvertimeDog,项目名称:mesos,代码行数:6,代码来源:protobuf_utils.cpp
示例11: main
int main (int argc, char* argv[])
{
/** We create a command line parser. */
OptionsParser parser ("GraphStats");
parser.push_back (new OptionOneParam (STR_URI_GRAPH, "graph input", true));
try
{
/** We parse the user options. */
IProperties* options = parser.parse (argc, argv);
// We load the graph
Graph graph = Graph::load (options->getStr(STR_URI_GRAPH));
// We create a graph marker.
GraphMarker marker (graph);
// We create an object for Breadth First Search for the de Bruijn graph.
BFS bfs (graph);
// We want to compute the distribution of connected components of the branching nodes.
// - key is a connected component class (for a given number of branching nodes for this component)
// - value is the number of times this component class occurs in the branching sub graph
map<size_t,size_t> distrib;
// We get an iterator for all nodes of the graph. We use a progress iterator to get some progress feedback
ProgressGraphIterator<BranchingNode,ProgressTimer> itBranching (graph.iteratorBranching(), "statistics");
// We want time duration of the iteration
TimeInfo ti;
ti.start ("compute");
// We need to keep each connected component.
list<set<BranchingNode> > components;
// We loop the branching nodes
for (itBranching.first(); !itBranching.isDone(); itBranching.next())
{
// We skip already visited nodes.
if (marker.isMarked (*itBranching)) { continue; }
// We launch the breadth first search; we get as a result the set of branching nodes in this component
const set<BranchingNode>& component = bfs.run (*itBranching);
// We memorize the component
components.push_back (component);
// We mark the nodes for this connected component
marker.mark (component);
// We update our distribution
distrib[component.size()] ++;
}
ti.stop ("compute");
// We compute the total number of branching nodes in all connected components.
size_t sum = 0; for (map<size_t,size_t>::iterator it = distrib.begin(); it != distrib.end(); it++) { sum += it->first*it->second; }
// Note: it must be equal to the number of branching nodes of the graph
assert (sum == itBranching.size());
size_t idx1=0;
size_t cc=0;
// We check that each component has no intersection with all other components.
// Note: this check may take a long time since we have N^2 intersections to compute.
for (list<set<BranchingNode> >::iterator it1 = components.begin(); it1 != components.end(); it1++, idx1++)
{
size_t idx2=0;
for (list<set<BranchingNode> >::iterator it2 = components.begin(); it2 != components.end(); it2++, idx2++)
{
if (it1 != it2)
{
set<BranchingNode> inter;
set_intersection (it1->begin(),it1->end(),it2->begin(),it2->end(), std::inserter(inter,inter.begin()));
if (inter.size()!=0) { printf ("ERROR, intersection should be empty...\n"); exit(EXIT_FAILURE); }
}
if (++cc % 50 == 0)
{
cc = 0;
printf ("[check] %.1f %.1f\r", 100.0*(float)idx1/(float)components.size(), 100.0*(float)idx2/(float)components.size());
fflush (stdout);
}
}
}
printf ("\n");
// We aggregate the computed information
Properties props ("connected_components");
props.add (1, "graph_name", "%s", graph.getName().c_str());
props.add (1, "nb_branching_nodes", "%d", sum);
props.add (1, "nb_connected_components", "%d", distrib.size());
for (map<size_t,size_t>::iterator it = distrib.begin(); it!=distrib.end(); it++)
{
props.add (2, "component");
props.add (3, "nb_nodes", "%d", it->first);
props.add (3, "nb_occurs", "%d", it->second);
props.add (3, "freq_nodes", "%f", 100.0*(float)(it->first*it->second) / (float)sum);
//.........这里部分代码省略.........
开发者ID:GATB,项目名称:gatb-core,代码行数:101,代码来源:debruijn20.cpp
注:本文中的TimeInfo类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论