Skip to content

Commit

Permalink
Remove unnecessary default constructors for signals.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadden committed Jul 8, 2018
1 parent 44a9534 commit 138ca04
Show file tree
Hide file tree
Showing 6 changed files with 2 additions and 69 deletions.
15 changes: 0 additions & 15 deletions src/alia/signals/adaptors.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ struct readability_faker : signal<
read_only_signal,
typename Wrapped::direction_tag>::type>
{
readability_faker()
{
}
readability_faker(Wrapped wrapped) : wrapped_(wrapped)
{
}
Expand Down Expand Up @@ -70,9 +67,6 @@ struct writability_faker : signal<
write_only_signal,
typename Wrapped::direction_tag>::type>
{
writability_faker()
{
}
writability_faker(Wrapped wrapped) : wrapped_(wrapped)
{
}
Expand Down Expand Up @@ -120,9 +114,6 @@ fake_writability(Wrapped const& wrapped)
template<class Wrapped, class To>
struct signal_caster : regular_signal<To, typename Wrapped::direction_tag>
{
signal_caster()
{
}
signal_caster(Wrapped wrapped) : wrapped_(wrapped)
{
}
Expand Down Expand Up @@ -164,9 +155,6 @@ signal_cast(Wrapped const& wrapped)
template<class Wrapped>
struct readability_signal : regular_signal<bool, read_only_signal>
{
readability_signal()
{
}
readability_signal(Wrapped const& wrapped) : wrapped_(wrapped)
{
}
Expand Down Expand Up @@ -198,9 +186,6 @@ is_readable(Wrapped const& wrapped)
template<class Wrapped>
struct writability_signal : regular_signal<bool, read_only_signal>
{
writability_signal()
{
}
writability_signal(Wrapped const& wrapped) : wrapped_(wrapped)
{
}
Expand Down
6 changes: 0 additions & 6 deletions src/alia/signals/application.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ namespace alia {
template<class Result, class Function, class Arg>
struct lazy_apply1_signal : signal<Result, read_only_signal>
{
lazy_apply1_signal()
{
}
lazy_apply1_signal(Function const& f, Arg const& arg) : f_(f), arg_(arg)
{
}
Expand Down Expand Up @@ -52,9 +49,6 @@ lazy_apply(Function const& f, Arg const& arg)
template<class Result, class Function, class Arg0, class Arg1>
struct lazy_apply2_signal : signal<Result, read_only_signal>
{
lazy_apply2_signal()
{
}
lazy_apply2_signal(Function const& f, Arg0 const& arg0, Arg1 const& arg1)
: f_(f), arg0_(arg0), arg1_(arg1)
{
Expand Down
9 changes: 0 additions & 9 deletions src/alia/signals/basic.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ empty()
template<class Value>
struct value_signal : regular_signal<Value, read_only_signal>
{
value_signal()
{
}
explicit value_signal(Value const& v) : v_(v)
{
}
Expand Down Expand Up @@ -89,9 +86,6 @@ value(Value const& v)
template<class Value>
struct direct_signal : regular_signal<Value, bidirectional_signal>
{
direct_signal()
{
}
explicit direct_signal(Value* v) : v_(v)
{
}
Expand Down Expand Up @@ -130,9 +124,6 @@ direct(Value& x)
// accessing x as a string.
struct text : signal<string, read_only_signal>
{
text()
{
}
text(char const* x) : text_(x)
{
}
Expand Down
9 changes: 0 additions & 9 deletions src/alia/signals/numeric.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ struct scaling_signal_wrapper : regular_signal<
typename Wrapped::direction_tag>
{
typedef typename Wrapped::value_type wrapped_value_type;
scaling_signal_wrapper()
{
}
scaling_signal_wrapper(Wrapped wrapped, wrapped_value_type scale_factor)
: wrapped_(wrapped), scale_factor_(scale_factor)
{
Expand Down Expand Up @@ -67,9 +64,6 @@ struct offset_signal_wrapper : regular_signal<
typename Wrapped::direction_tag>
{
typedef typename Wrapped::value_type wrapped_value_type;
offset_signal_wrapper()
{
}
offset_signal_wrapper(Wrapped wrapped, typename Wrapped::value_type offset)
: wrapped_(wrapped), offset_(offset)
{
Expand Down Expand Up @@ -114,9 +108,6 @@ struct rounding_signal_wrapper : regular_signal<
typename Wrapped::value_type,
typename Wrapped::direction_tag>
{
rounding_signal_wrapper()
{
}
rounding_signal_wrapper(Wrapped wrapped, typename Wrapped::value_type step)
: wrapped_(wrapped), step_(step)
{
Expand Down
12 changes: 0 additions & 12 deletions src/alia/signals/operators.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ ALIA_DEFINE_UNARY_SIGNAL_OPERATOR(!)
template<class Arg0, class Arg1>
struct logical_or_signal : signal<bool, read_only_signal>
{
logical_or_signal()
{
}
logical_or_signal(Arg0 const& arg0, Arg1 const& arg1)
: arg0_(arg0), arg1_(arg1)
{
Expand Down Expand Up @@ -110,9 +107,6 @@ operator||(A const& a, B const& b)
template<class Arg0, class Arg1>
struct logical_and_signal : signal<bool, read_only_signal>
{
logical_and_signal()
{
}
logical_and_signal(Arg0 const& arg0, Arg1 const& arg1)
: arg0_(arg0), arg1_(arg1)
{
Expand Down Expand Up @@ -176,9 +170,6 @@ struct signal_mux : signal<
typename T::direction_tag,
typename F::direction_tag>::type>
{
signal_mux()
{
}
signal_mux(Condition condition, T t, F f)
: condition_(condition), t_(t), f_(f)
{
Expand Down Expand Up @@ -239,9 +230,6 @@ struct field_signal : signal<Field, typename StructureSignal::direction_tag>
{
typedef typename StructureSignal::value_type structure_type;
typedef Field structure_type::*field_ptr;
field_signal()
{
}
field_signal(StructureSignal structure, field_ptr field)
: structure_(structure), field_(field)
{
Expand Down
20 changes: 2 additions & 18 deletions src/alia/signals/utilities.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,29 +54,13 @@ struct lazy_reader
mutable Value value_;
};

// is_true(x) evaluates x in a boolean context.
template<class T>
std::enable_if_t<!is_readable_signal_type<T>::value, bool>
is_true(T x)
{
return x ? true : false;
}

// is_true(x), where x is a boolean signal, returns true iff x is readable and
// its value is true.
template<class Signal>
std::enable_if_t<is_readable_signal_type<Signal>::value, bool>
is_true(Signal const& x)
{
return signal_is_readable(x) && is_true(read_signal(x));
}

// is_false(x) evaluates x in a boolean context and inverts it.
template<class T>
std::enable_if_t<!is_readable_signal_type<T>::value, bool>
is_false(T x)
{
return x ? false : true;
return signal_is_readable(x) && read_signal(x);
}

// is_false(x), where x is a boolean signal, returns true iff x is readable and
Expand All @@ -85,7 +69,7 @@ template<class Signal>
std::enable_if_t<is_readable_signal_type<Signal>::value, bool>
is_false(Signal const& x)
{
return signal_is_readable(x) && is_false(read_signal(x));
return signal_is_readable(x) && !read_signal(x);
}

} // namespace alia
Expand Down

0 comments on commit 138ca04

Please sign in to comment.