diff --git a/Telegram/SourceFiles/boxes/change_phone_box.cpp b/Telegram/SourceFiles/boxes/change_phone_box.cpp index 8b091a7a2..2386940ce 100644 --- a/Telegram/SourceFiles/boxes/change_phone_box.cpp +++ b/Telegram/SourceFiles/boxes/change_phone_box.cpp @@ -50,7 +50,7 @@ void createErrorLabel( using namespace rpl::mappers; saved->shownValue() - | rpl::filter($1 == false) + | rpl::filter(_1 == false) | rpl::take(1) | rpl::start_with_done( std::move(destroy), diff --git a/Telegram/SourceFiles/data/data_peer_values.h b/Telegram/SourceFiles/data/data_peer_values.h index 100c5d582..904a3771f 100644 --- a/Telegram/SourceFiles/data/data_peer_values.h +++ b/Telegram/SourceFiles/data/data_peer_values.h @@ -155,7 +155,7 @@ inline auto RestrictionValue( inline auto CanWriteValue(UserData *user) { using namespace rpl::mappers; return PeerFlagValue(user, MTPDuser::Flag::f_deleted) - | rpl::map(!$1); + | rpl::map(!_1); } inline auto CanWriteValue(ChatData *chat) { @@ -166,7 +166,7 @@ inline auto CanWriteValue(ChatData *chat) { | MTPDchat::Flag::f_left | MTPDchat::Flag::f_kicked; return PeerFlagsValue(chat, mask) - | rpl::map(!$1); + | rpl::map(!_1); } inline auto CanWriteValue(ChannelData *channel) { diff --git a/Telegram/SourceFiles/info/info_content_widget.cpp b/Telegram/SourceFiles/info/info_content_widget.cpp index 2e7c3ffe2..167433def 100644 --- a/Telegram/SourceFiles/info/info_content_widget.cpp +++ b/Telegram/SourceFiles/info/info_content_widget.cpp @@ -60,7 +60,7 @@ ContentWidget::ContentWidget( rpl::combine( _controller->wrapValue(), _controller->searchEnabledByContent(), - ($1 == Wrap::Layer) && $2) + (_1 == Wrap::Layer) && _2) | rpl::start_with_next([this](bool shown) { refreshSearchField(shown); }, lifetime()); @@ -135,7 +135,7 @@ Ui::RpWidget *ContentWidget::doSetInnerWidget( _scroll->scrollTopValue(), _scroll->heightValue(), _inner->desiredHeightValue(), - tuple($1, $1 + $2, $3)) + tuple(_1, _1 + _2, _3)) | rpl::start_with_next([inner = _inner]( int top, int bottom, @@ -163,7 +163,7 @@ rpl::producer ContentWidget::desiredHeightValue() const { return rpl::combine( _inner->desiredHeightValue(), _scrollTopSkip.value()) - | rpl::map($1 + $2); + | rpl::map(_1 + _2); } rpl::producer ContentWidget::desiredShadowVisibility() const { @@ -171,7 +171,7 @@ rpl::producer ContentWidget::desiredShadowVisibility() const { return rpl::combine( _scroll->scrollTopValue(), _scrollTopSkip.value()) - | rpl::map(($1 > 0) || ($2 > 0)); + | rpl::map((_1 > 0) || (_2 > 0)); } bool ContentWidget::hasTopBarShadow() const { diff --git a/Telegram/SourceFiles/info/info_wrap_widget.cpp b/Telegram/SourceFiles/info/info_wrap_widget.cpp index 43353e17c..d9c75c99d 100644 --- a/Telegram/SourceFiles/info/info_wrap_widget.cpp +++ b/Telegram/SourceFiles/info/info_wrap_widget.cpp @@ -116,8 +116,8 @@ void WrapWidget::startInjectingActivePeerProfiles() { rpl::combine( _wrap.value(), _controller->window()->activePeer.value()) - | rpl::filter(($1 == Wrap::Side) && ($2 != nullptr)) - | rpl::map($2) + | rpl::filter((_1 == Wrap::Side) && (_2 != nullptr)) + | rpl::map(_2) | rpl::start_with_next([this](not_null peer) { injectActivePeerProfile(peer); }, lifetime()); @@ -554,7 +554,7 @@ rpl::producer WrapWidget::topShadowToggledValue() const { //return rpl::combine( // _controller->wrapValue(), // _desiredShadowVisibilities.events() | rpl::flatten_latest(), - // ($1 == Wrap::Side) || $2); + // (_1 == Wrap::Side) || _2); return _desiredShadowVisibilities.events() | rpl::flatten_latest(); } @@ -564,7 +564,7 @@ rpl::producer WrapWidget::desiredHeightForContent() const { return rpl::combine( _content->desiredHeightValue(), topWidget()->heightValue(), - $1 + $2); + _1 + _2); } rpl::producer WrapWidget::selectedListValue() const { diff --git a/Telegram/SourceFiles/info/media/info_media_buttons.h b/Telegram/SourceFiles/info/media/info_media_buttons.h index aa7b720e2..51dbc796c 100644 --- a/Telegram/SourceFiles/info/media/info_media_buttons.h +++ b/Telegram/SourceFiles/info/media/info_media_buttons.h @@ -83,7 +83,7 @@ inline auto AddCountedButton( )->setDuration( st::infoSlideDuration )->toggleOn( - rpl::duplicate(forked) | rpl::map($1 > 0) + rpl::duplicate(forked) | rpl::map(_1 > 0) ); tracker.track(button); return button; diff --git a/Telegram/SourceFiles/info/media/info_media_inner_widget.cpp b/Telegram/SourceFiles/info/media/info_media_inner_widget.cpp index 8c33ef8e6..debbf62df 100644 --- a/Telegram/SourceFiles/info/media/info_media_inner_widget.cpp +++ b/Telegram/SourceFiles/info/media/info_media_inner_widget.cpp @@ -357,7 +357,7 @@ void InnerWidget::setScrollHeightValue(rpl::producer value) { std::move(value), _listTops.events_starting_with(_list->topValue()) | rpl::flatten_latest(), - $1 - $2)); + _1 - _2)); } } // namespace Media diff --git a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp index 6871ff586..183e8f864 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_actions.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_actions.cpp @@ -328,7 +328,7 @@ Ui::MultiSlideTracker DetailsFiller::fillUserButtons( auto sendMessageVisible = rpl::combine( _controller->wrapValue(), window->historyPeer.value(), - ($1 != Wrap::Side) || ($2 != user)); + (_1 != Wrap::Side) || (_2 != user)); auto sendMessage = [window, user] { window->showPeerHistory( user, @@ -359,7 +359,7 @@ Ui::MultiSlideTracker DetailsFiller::fillChannelButtons( auto viewChannelVisible = rpl::combine( _controller->wrapValue(), window->historyPeer.value(), - ($1 != Wrap::Side) || ($2 != channel)); + (_1 != Wrap::Side) || (_2 != channel)); auto viewChannel = [=] { window->showPeerHistory( channel, @@ -589,7 +589,7 @@ void ActionsFiller::addJoinChannelAction( not_null channel) { using namespace rpl::mappers; auto joinVisible = AmInChannelValue(channel) - | rpl::map(!$1) + | rpl::map(!_1) | rpl::start_spawning(_wrap->lifetime()); AddActionButton( _wrap, @@ -724,7 +724,7 @@ object_ptr SetupChannelMembers( Data::PeerFullFlagValue( channel, MTPDchannelFull::Flag::f_can_view_participants), - ($1 > 0) && $2); + (_1 > 0) && _2); auto membersText = MembersCountValue(channel) | rpl::map([](int count) { return lng_chat_status_members(lt_count, count); diff --git a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp index fca589885..e3d93b075 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp @@ -262,7 +262,7 @@ void Cover::setupChildGeometry() { rpl::combine( toggleShownValue(), widthValue(), - $2) + _2) | rpl::start_with_next([this](int newWidth) { _userpic->moveToLeft( st::infoProfilePhotoLeft, @@ -441,7 +441,7 @@ void SharedMediaCover::createLabel() { rpl::combine( toggleShownValue(), widthValue(), - $2) + _2) | rpl::start_with_next([this, weak = label.data()](int newWidth) { auto availableWidth = newWidth - st::infoBlockHeaderPosition.x() diff --git a/Telegram/SourceFiles/info/profile/info_profile_inner_widget.cpp b/Telegram/SourceFiles/info/profile/info_profile_inner_widget.cpp index 40fe19832..c214fa187 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_inner_widget.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_inner_widget.cpp @@ -83,7 +83,7 @@ bool InnerWidget::canHideDetailsEver() const { rpl::producer InnerWidget::canHideDetails() const { using namespace rpl::mappers; return MembersCountValue(_peer) - | rpl::map($1 > 0); + | rpl::map(_1 > 0); } object_ptr InnerWidget::setupContent( diff --git a/Telegram/SourceFiles/info/profile/info_profile_members.cpp b/Telegram/SourceFiles/info/profile/info_profile_members.cpp index ee85c8d15..1d2d746d4 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_members.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_members.cpp @@ -193,7 +193,7 @@ void Members::setupButtons() { }); //auto searchShown = MembersCountValue(_peer) - // | rpl::map($1 >= kEnableSearchMembersAfterCount) + // | rpl::map(_1 >= kEnableSearchMembersAfterCount) // | rpl::distinct_until_changed() // | rpl::start_spawning(lifetime()); //_search->showOn(rpl::duplicate(searchShown)); diff --git a/Telegram/SourceFiles/info/profile/info_profile_values.cpp b/Telegram/SourceFiles/info/profile/info_profile_values.cpp index 423eb09a0..4fe41fe86 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_values.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_values.cpp @@ -167,7 +167,7 @@ rpl::producer CanAddContactValue( return rpl::combine( IsContactValue(user), CanShareContactValue(user), - !$1 && $2); + !_1 && _2); } rpl::producer AmInChannelValue( diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 1907eeaf2..98c0d80ec 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -257,7 +257,7 @@ MainWidget::MainWidget( ? Data::CanWriteValue(peer) : rpl::single(false); return std::move(canWrite) - | rpl::map(tuple(peer, $1)); + | rpl::map(tuple(peer, _1)); }) | rpl::flatten_latest() | rpl::start_with_next([this](PeerData *peer, bool canWrite) { diff --git a/Telegram/SourceFiles/rpl/filter.h b/Telegram/SourceFiles/rpl/filter.h index fe2ea1fb0..9eb45a153 100644 --- a/Telegram/SourceFiles/rpl/filter.h +++ b/Telegram/SourceFiles/rpl/filter.h @@ -97,8 +97,8 @@ public: auto operator()(producer &&initial) { using namespace mappers; return combine(std::move(initial), std::move(_filterer)) - | filter($2) - | map($1_of_two); + | filter(_2) + | map(_1_of_two); } private: diff --git a/Telegram/SourceFiles/rpl/mappers.h b/Telegram/SourceFiles/rpl/mappers.h index 606af6d4f..3764ed2c9 100644 --- a/Telegram/SourceFiles/rpl/mappers.h +++ b/Telegram/SourceFiles/rpl/mappers.h @@ -74,7 +74,7 @@ class value_mapper : public base_mapper { public: template constexpr value_mapper(OtherType &&value) - : _value(std::forward(value)) { + : _value(std::forward(value)) { } template @@ -87,11 +87,6 @@ private: }; -template -inline value_mapper> make_value_mapper(Type &&value) { - return { std::forward(value) }; -} - template struct wrap_mapper { using type = std::conditional_t< @@ -475,33 +470,18 @@ tuple_mapper tuple(Args &&...args) { namespace mappers { -constexpr const details::argument_mapper<0> $1; -constexpr const details::argument_mapper<1> $2; -constexpr const details::argument_mapper<2> $3; -constexpr const details::argument_mapper<3> $4; -constexpr const details::argument_mapper<4> $5; -constexpr const details::argument_mapper<5> $6; -constexpr const details::argument_mapper<6> $7; -constexpr const details::argument_mapper<7> $8; -constexpr const details::argument_mapper<8> $9; -constexpr const details::argument_mapper<9> $10; -constexpr const details::argument_mapper<10> $11; -constexpr const details::argument_mapper<11> $12; -constexpr const details::argument_mapper<12> $13; -constexpr const details::argument_mapper<13> $14; -constexpr const details::argument_mapper<14> $15; -constexpr const details::argument_mapper<15> $16; -constexpr const details::argument_mapper<16> $17; -constexpr const details::argument_mapper<17> $18; -constexpr const details::argument_mapper<18> $19; -constexpr const details::argument_mapper<19> $20; +constexpr const details::argument_mapper<0> _1; +constexpr const details::argument_mapper<1> _2; +constexpr const details::argument_mapper<2> _3; +constexpr const details::argument_mapper<3> _4; +constexpr const details::argument_mapper<4> _5; +constexpr const details::argument_mapper<5> _6; +constexpr const details::argument_mapper<6> _7; +constexpr const details::argument_mapper<7> _8; +constexpr const details::argument_mapper<8> _9; +constexpr const details::argument_mapper<9> _10; -template -inline auto $val(Type &&value) { - return details::make_value_mapper(std::forward(value)); -} - -constexpr const auto $1_of_two = ((void)$2, $1); +constexpr const auto _1_of_two = ((void)_2, _1); } // namespace mappers } // namespace rpl diff --git a/Telegram/SourceFiles/rpl/operators_tests.cpp b/Telegram/SourceFiles/rpl/operators_tests.cpp index 9dff38a32..6d6af7300 100644 --- a/Telegram/SourceFiles/rpl/operators_tests.cpp +++ b/Telegram/SourceFiles/rpl/operators_tests.cpp @@ -384,7 +384,7 @@ TEST_CASE("basic operators tests", "[rpl::operators]") { a.events(), b.events(), c.events(), - $1 + $2 + $3 + 10) + _1 + _2 + _3 + 10) | start_with_next([=](int value) { *sum += std::to_string(value); }, lifetime); diff --git a/Telegram/SourceFiles/settings/settings_layer.cpp b/Telegram/SourceFiles/settings/settings_layer.cpp index 149cf3c69..37fdf68e0 100644 --- a/Telegram/SourceFiles/settings/settings_layer.cpp +++ b/Telegram/SourceFiles/settings/settings_layer.cpp @@ -54,7 +54,7 @@ Layer::Layer() using namespace rpl::mappers; _fixedBarShadow->toggleOn(_scroll->scrollTopValue() - | rpl::map($1 > 0)); + | rpl::map(_1 > 0)); } void Layer::setCloseClickHandler(base::lambda callback) { diff --git a/Telegram/SourceFiles/ui/abstract_button.cpp b/Telegram/SourceFiles/ui/abstract_button.cpp index fd516e17a..93e1814d5 100644 --- a/Telegram/SourceFiles/ui/abstract_button.cpp +++ b/Telegram/SourceFiles/ui/abstract_button.cpp @@ -30,7 +30,7 @@ AbstractButton::AbstractButton(QWidget *parent) : RpWidget(parent) { using namespace rpl::mappers; shownValue() - | rpl::filter($1 == false) + | rpl::filter(_1 == false) | rpl::start_with_next([this] { clearState(); }, lifetime()); }