tables::operator +,*,-,/

1.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
inline auto operator+(const column<P0>& lhs, const column<P1>& rhs)

2.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator+(const column<P0>& c,const P1 cte)

3.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator+(const P0 cte,const column<P1>& c)

4.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
inline auto operator*(const column<P0>& lhs, const column<P1>& rhs)

5.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator*(const column<P0>& c,const P1 cte)

6.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator*(const P0 cte,const column<P1>& c)

7.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
inline auto operator-(const column<P0>& lhs, const column<P1>& rhs)

8.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator-(const column<P0>& c,const P1 cte)

9.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator-(const P0 cte,const column<P1>& c)

10.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
inline auto operator/(const column<P0>& lhs, const column<P1>& rhs)

11.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator/(const column<P0>& c,const P1 cte)

12.

template<is_primitive_type P0,is_primitive_type P1>
requires ( std::convertible_to<P0,P1> && std::convertible_to<P1,P0>)
auto operator/(const P0 cte,const column<P1>& c)

  1. Returns column with column-wise sum of lhs and rhs.

  2. Returns column with sum of each element in lhs with cte

  3. Returns column with sum of each element in rhs with cte

  4. Returns column with column-wise product of lhs and rhs.

  5. Returns column with product of each element in lhs with cte

  6. Returns column with product of each element in rhs with cte

  7. Returns column with column-wise subtraction of lhs and rhs.

  8. Returns column with subtraction of each element in lhs with cte

  9. Returns column with subtraction of each element in rhs with cte

  10. Returns column with column-wise division of lhs and rhs.

  11. Returns column with division of each element in lhs with cte

  12. Returns column with division of each element in rhs with cte

Example

Code

#include <cpptables/table.hh>

using namespace tables;
using namespace std;

void column_col_op()
{
  const column<unsigned> xs ({ 1, 2, 3, 4, 5});
  const column<unsigned> ys ({ 10, 20, 30, 40, 50});

  const column<unsigned> res0 = xs + ys;
  cout << res0 << "\n";

  const column<unsigned> res1 = xs + 100U;
  cout << res1 << "\n";
}

Output

11 22 33 44 55
101 102 103 104 105