mastodon-cpp  0.110.0
tag.hpp
1 /* This file is part of mastodon-cpp.
2  * Copyright © 2018, 2019 tastytea <tastytea@tastytea.de>
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Affero General Public License as published by
6  * the Free Software Foundation, version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Affero General Public License for more details.
12  *
13  * You should have received a copy of the GNU Affero General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef MASTODON_CPP_EASY_TAG_HPP
18 #define MASTODON_CPP_EASY_TAG_HPP
19 
20 #include <string>
21 #include <cstdint>
22 
23 #include "../../mastodon-cpp.hpp"
24 #include "../entity.hpp"
25 
26 using std::string;
27 using std::uint64_t;
28 
29 namespace Mastodon
30 {
31 namespace Easy
32 {
38  class Tag : public Entity
39  {
40  public:
46  class History : public Easy::Entity
47  {
48  public:
49  using Entity::Entity;
50 
51  virtual bool valid() const override;
52 
58  uint64_t accounts() const;
59 
65  const Easy::time_type day() const;
66 
72  uint64_t uses() const;
73  };
74 
75  using Entity::Entity;
76 
77  virtual bool valid() const override;
78 
84  const string name() const;
85 
91  const string url() const;
92 
98  const std::vector<History> history() const;
99 };
100 }
101 }
102 
103 #endif // MASTODON_CPP_EASY_TAG_HPP
Class to hold tags.
Definition: tag.hpp:38
Entity()
Constructs an empty Entity object.
Definition: entity.cpp:43
const std::vector< History > history() const
Returns the history of the tag.
Definition: tag.cpp:45
uint64_t uses() const
Returns the number of statuses with that hashtag.
Definition: tag.cpp:92
Class to hold Tag history.
Definition: tag.hpp:46
Type for time. Converts to time_point and string.
Definition: types_easy.hpp:150
uint64_t accounts() const
Returns the number of accounts using that hashtag.
Definition: tag.cpp:73
const string name() const
Returns the name of the tag.
Definition: tag.cpp:35
Collection of things to interface with server software that implements the Mastodon API.
Definition: mastodon-cpp.hpp:47
Base class for all entities.
Definition: entity.hpp:36
virtual bool valid() const override
Returns true if the Entity holds valid data.
Definition: tag.cpp:26
const Easy::time_type day() const
Returns the day.
Definition: tag.cpp:78
virtual bool valid() const override
Returns true if the Entity holds valid data.
Definition: tag.cpp:61
const string url() const
Returns the URL of the tag.
Definition: tag.cpp:40