Require explicit decorator on one arg constructors
We essentially follow this rule already, not relying on implicit
operators, although there are a number of cases where in theory we
could've implicitly constructed an object.
This commit enables the clang-tidy check.
Tested: Code compiles, passes clang-tidy.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ia428463313b075c69614fdb326e8c5c094e7adde
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
index 3c47698..1785828 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -374,7 +374,8 @@
// Subscription constructor
}
- Subscription(const std::shared_ptr<boost::beast::tcp_stream>& adaptor) :
+ explicit Subscription(
+ const std::shared_ptr<boost::beast::tcp_stream>& adaptor) :
eventSeqNum(1)
{
sseConn = std::make_shared<crow::ServerSentEvents>(adaptor);
diff --git a/redfish-core/include/privileges.hpp b/redfish-core/include/privileges.hpp
index 160816f..f20cede 100644
--- a/redfish-core/include/privileges.hpp
+++ b/redfish-core/include/privileges.hpp
@@ -198,7 +198,8 @@
}
private:
- Privileges(const std::bitset<maxPrivilegeCount>& p) : privilegeBitset{p}
+ explicit Privileges(const std::bitset<maxPrivilegeCount>& p) :
+ privilegeBitset{p}
{}
std::bitset<maxPrivilegeCount> privilegeBitset = 0;
};
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index c961b2d..8c05dd7 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -62,7 +62,7 @@
*
* @param[in] app Crow app on which Redfish will initialize
*/
- RedfishService(App& app)
+ explicit RedfishService(App& app)
{
requestAccountServiceRoutes(app);
requestRoutesRoles(app);
diff --git a/redfish-core/include/server_sent_events.hpp b/redfish-core/include/server_sent_events.hpp
index 6663f66..16d8e18 100644
--- a/redfish-core/include/server_sent_events.hpp
+++ b/redfish-core/include/server_sent_events.hpp
@@ -256,7 +256,8 @@
ServerSentEvents(ServerSentEvents&&) = delete;
ServerSentEvents& operator=(ServerSentEvents&&) = delete;
- ServerSentEvents(const std::shared_ptr<boost::beast::tcp_stream>& adaptor) :
+ explicit ServerSentEvents(
+ const std::shared_ptr<boost::beast::tcp_stream>& adaptor) :
sseConn(adaptor)
{
startSSE();