From d6ad4ce45e903911f0b0d8b57991d06009ded95e Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 15 Feb 2018 12:11:28 -0800 Subject: [PATCH] ircd::m: Add some object semantics/restrictions. --- include/ircd/m/room.h | 12 ++++++++++-- include/ircd/m/user.h | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/ircd/m/room.h b/include/ircd/m/room.h index eab591abf..4e7019140 100644 --- a/include/ircd/m/room.h +++ b/include/ircd/m/room.h @@ -102,6 +102,8 @@ struct ircd::m::room :room_id{room_id} ,event_id{event_id} {} + + room() = default; }; /// Interface to room messages @@ -141,6 +143,9 @@ struct ircd::m::room::messages messages(const m::room &room, const uint64_t &depth); messages(const m::room &room, const event::id &); messages(const m::room &room); + messages() = default; + messages(const messages &) = delete; + messages &operator=(const messages &) = delete; }; /// Interface to room state. @@ -187,6 +192,9 @@ struct ircd::m::room::state const m::state::id &refresh(); state(const m::room &); + state() = default; + state(const state &) = delete; + state &operator=(const state &) = delete; }; /// Interface to the members of a room. @@ -204,7 +212,7 @@ struct ircd::m::room::members void for_each(const string_view &membership, const event::closure &view) const; void for_each(const event::closure &view) const; - members(m::room room) + members(const m::room &room) :room{room} {} }; @@ -226,7 +234,7 @@ struct ircd::m::room::origins bool test(const closure_bool &view) const; void for_each(const closure &view) const; - origins(m::room room) + origins(const m::room &room) :room{room} {} }; diff --git a/include/ircd/m/user.h b/include/ircd/m/user.h index 3c8d2342f..6dd771ded 100644 --- a/include/ircd/m/user.h +++ b/include/ircd/m/user.h @@ -35,4 +35,6 @@ struct ircd::m::user user(const id &user_id) :user_id{user_id} {} + + user() = default; };