ClickHouse/dbms/src/Functions
Amos Bird ea84430864 Get rid of useless std::move to get NRVO
http://eel.is/c++draft/class.copy.elision#:constructor,copy,elision

Some quote:

> Speaking of RVO, return std::move(w); prohibits it. It means "use move constructor or fail to compile", whereas return w; means "use RVO, and if you can't, use move constructor, and if you can't, use copy constructor, and if you can't, fail to compile."

There is one exception to this rule:
```cpp
Block FilterBlockInputStream::removeFilterIfNeed(Block && block)
{
    if (block && remove_filter)
        block.erase(static_cast<size_t>(filter_column));

    return std::move(block);
}
```

because references are not eligible for NRVO, which is another rule "always move rvalue references and forward universal references" that takes precedence.
2018-08-27 22:15:48 +08:00
..
GatherUtils Immutable construction for columns 2018-03-20 22:45:10 +03:00
tests Cmake: mark system includes as SYSTEM (#1449) 2018-06-06 23:21:58 +03:00
CMakeLists.txt add test 2018-08-06 12:35:13 +03:00
FunctionFactory.cpp CLICKHOUSE-3857: Add table table_engines, alias factory base class and columns alias_to and case_insensitive to functions 2018-07-25 19:08:23 +03:00
FunctionFactory.h CLICKHOUSE-3857: Add table table_engines, alias factory base class and columns alias_to and case_insensitive to functions 2018-07-25 19:08:23 +03:00
FunctionHelpers.cpp Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit 2018-05-01 22:51:37 +03:00
FunctionHelpers.h Miscellaneous [#CLICKHOUSE-3765] 2018-08-21 07:31:35 +03:00
FunctionsArithmetic.h Miscellaneous [#CLICKHOUSE-3765] 2018-08-21 07:31:35 +03:00
FunctionsArray.cpp Fixed arrayDistinct function [#CLICKHOUSE-3928] 2018-08-24 05:54:02 +03:00
FunctionsArray.h Fixed arrayDistinct function [#CLICKHOUSE-3928] 2018-08-24 05:54:02 +03:00
FunctionsCharset.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsCoding.cpp Fixed redundant code in IPv4NumToStringClassC function and removed copy-paste [#CLICKHOUSE-3281]. 2017-09-06 06:24:39 +03:00
FunctionsCoding.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsComparison.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsComparison.h Miscellaneous [#CLICKHOUSE-3765] 2018-08-21 07:31:35 +03:00
FunctionsConditional.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsConditional.h Non significant changes according to clang's -Weverything, part 3 [#CLICKHOUSE-2] 2018-06-03 23:39:06 +03:00
FunctionsConsistentHashing.cpp Add requested changes. [#CLICKHOUSE-3606] 2018-02-26 15:14:20 +03:00
FunctionsConsistentHashing.h Applied clang-format to some imported code [#CLICKHOUSE-2] 2018-05-07 05:08:38 +03:00
FunctionsConversion.cpp Fixed code with extremely high level of ugliness [#CLICKHOUSE-3764] 2018-06-07 23:25:38 +03:00
FunctionsConversion.h Fix LowCardinality conversions for defaults. 2018-08-09 13:52:33 +03:00
FunctionsDateTime.cpp removed prerequisites [#CLICKHOUSE-3550] 2018-02-08 20:18:52 +03:00
FunctionsDateTime.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsEmbeddedDictionaries.cpp Better option to disable mysqlclient (#710) 2017-04-19 03:25:57 +03:00
FunctionsEmbeddedDictionaries.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsExternalDictionaries.cpp Added support UUID type for dictionaries 2017-11-15 23:31:53 +03:00
FunctionsExternalDictionaries.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsExternalModels.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsExternalModels.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsFindCluster.cpp Implement functions findClusterIndex and findClusterValue. 2017-07-03 17:01:21 +03:00
FunctionsFindCluster.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsFormatting.cpp Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
FunctionsFormatting.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsGeo.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsGeo.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsHashing.cpp add murmurHash3, update FunctionStringHash template 2018-08-02 12:21:26 +03:00
FunctionsHashing.h Squashed commit of the following: 2018-08-21 18:56:50 +03:00
FunctionsHigherOrder.cpp Whitespace [#CLICKHOUSE-2] 2018-02-15 19:10:25 +03:00
FunctionsHigherOrder.h Get rid of useless std::move to get NRVO 2018-08-27 22:15:48 +08:00
FunctionsLogical.cpp Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
FunctionsLogical.h Add // Y_IGNORE tags 2018-06-21 18:24:36 +03:00
FunctionsMath.cpp Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
FunctionsMath.h Preparation for extra warnings [#CLICKHOUSE-2] 2018-08-10 07:02:56 +03:00
FunctionsMiscellaneous.cpp Merge branch 'master' into CLICKHOUSE-2910 2018-08-14 23:29:42 +03:00
FunctionsMiscellaneous.h Merged with master. 2018-05-21 14:38:50 +03:00
FunctionsNull.cpp Add case insensitive coalesce ifnull, nullif. 2018-07-30 18:50:12 +03:00
FunctionsNull.h Implemented generic case for comparison operators #2026 2018-07-16 09:06:44 +03:00
FunctionsProjection.cpp Applied clang-format #2272 2018-05-07 05:08:38 +03:00
FunctionsProjection.h Applied clang-format #2272 2018-05-07 05:08:38 +03:00
FunctionsRandom.cpp Function for generate an uuid v4 (#1008) 2017-07-25 20:00:38 +03:00
FunctionsRandom.h Made IFunction::isDeterministic and IFunction::isDeterministicInScopeOfQuery are const. Disabled default implementation with dictionary for not isDeterministicInScopeOfQuery functions. 2018-08-08 14:26:18 +03:00
FunctionsReinterpret.cpp Fixed tests #1665 2018-01-14 03:12:23 +03:00
FunctionsReinterpret.h Non significant changes according to clang's -Weverything, part 3 [#CLICKHOUSE-2] 2018-06-03 23:39:06 +03:00
FunctionsRound.cpp CLICKHOUSE-3857: Add table table_engines, alias factory base class and columns alias_to and case_insensitive to functions 2018-07-25 19:08:23 +03:00
FunctionsRound.h Build fixes (#2481) 2018-06-07 17:42:38 +03:00
FunctionsString.cpp Preparations #2429 2018-06-07 00:13:49 +03:00
FunctionsString.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsStringArray.cpp Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
FunctionsStringArray.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsStringSearch.cpp Add // Y_IGNORE tags 2018-06-21 18:24:36 +03:00
FunctionsStringSearch.h Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsTransform.cpp Simplification of Nullable [#CLICKHOUSE-2] 2017-12-07 03:31:46 +03:00
FunctionsTransform.h Fixed style [#CLICKHOUSE-2] 2018-05-07 05:08:38 +03:00
FunctionsTuple.cpp Conditional computations. 2018-04-24 09:16:39 +02:00
FunctionsURL.cpp ISSUES-995 support relative path 2018-02-19 19:49:49 +08:00
FunctionsURL.h CLICKHOUSE-3762 Build fixes (#2488) 2018-06-19 21:09:09 +03:00
FunctionsVisitParam.cpp ColumnConst unification (#1011) 2017-07-21 09:35:58 +03:00
FunctionsVisitParam.h Fixed behaviour of "visitParamExtract" functions according to the documentation [#CLICKHOUSE-2]. 2017-12-22 05:25:03 +03:00
GeoUtils.h Get rid of useless std::move to get NRVO 2018-08-27 22:15:48 +08:00
IFunction.cpp Fix style [#CLICKHOUSE-2] 2018-08-24 03:07:25 +03:00
IFunction.h Added IFunction::isDeterministicInScopeOfQuery(). 2018-08-09 13:52:46 +03:00
likePatternToRegexp.h translate comments 2017-05-14 19:03:55 +04:00
ObjectPool.h Moved headers and sources to same place [#CLICKHOUSE-3]. 2017-04-01 12:22:42 +03:00
Regexps.h Miscellaneous [#CLICKHOUSe-2] 2018-01-10 03:04:08 +03:00
registerFunction.cpp.in CLICKHOUSE-3762 Build fixes (#2488) 2018-06-19 21:09:09 +03:00
registerFunction.h.in Split FunctionsArithmetic.cpp to generated functions 2017-07-26 21:32:35 +03:00
registerFunctions_area.cpp.in Fixed style a bit [#CLICKHOUSE-2] 2018-05-07 05:01:29 +03:00
registerFunctions.cpp Implement jit for most arithmetic functions, remove the test function 2018-04-30 01:43:02 +03:00
registerFunctions.h Functions as separate lib 2017-04-21 21:30:16 +03:00