tdlib-obf API
Reference documentation for the public tdlib-obf API, generated from TDLib schemas and public headers
Loading...
Searching...
No Matches
td_api.hpp File Reference
#include "td_api.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  td::td_api::downcast_call_tag< Type >
 
struct  td::td_api::downcast_call_target< T, class >
 
struct  td::td_api::downcast_call_target< T, std::void_t< typename std::decay_t< T >::is_downcast_call_tag, typename std::decay_t< T >::type > >
 

Typedefs

template<class T >
using td::td_api::downcast_call_target_t = typename downcast_call_target< T >::type
 

Functions

template<class Base , class T >
bool td::td_api::downcast_call (const Base &obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, Object *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (Object &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, Object *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, Function *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (Function &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, Function *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ActiveStoryState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ActiveStoryState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ActiveStoryState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AffiliateProgramSortOrder *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AffiliateProgramSortOrder &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AffiliateProgramSortOrder *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AffiliateType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AffiliateType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AffiliateType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AuctionState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AuctionState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AuctionState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AuthenticationCodeType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AuthenticationCodeType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AuthenticationCodeType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AuthorizationState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AuthorizationState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AuthorizationState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, AutosaveSettingsScope *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (AutosaveSettingsScope &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, AutosaveSettingsScope *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BackgroundFill *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BackgroundFill &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BackgroundFill *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BackgroundType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BackgroundType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BackgroundType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BlockList *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BlockList &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BlockList *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BotCommandScope *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BotCommandScope &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BotCommandScope *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BotWriteAccessAllowReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BotWriteAccessAllowReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BotWriteAccessAllowReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BuiltInTheme *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BuiltInTheme &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BuiltInTheme *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BusinessAwayMessageSchedule *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BusinessAwayMessageSchedule &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BusinessAwayMessageSchedule *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, BusinessFeature *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (BusinessFeature &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, BusinessFeature *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ButtonStyle *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ButtonStyle &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ButtonStyle *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CallDiscardReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CallDiscardReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CallDiscardReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CallProblem *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CallProblem &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CallProblem *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CallServerType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CallServerType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CallServerType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CallState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CallState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CallState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CallbackQueryPayload *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CallbackQueryPayload &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CallbackQueryPayload *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CanPostStoryResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CanPostStoryResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CanPostStoryResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CanSendGiftResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CanSendGiftResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CanSendGiftResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CanSendMessageToUserResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CanSendMessageToUserResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CanSendMessageToUserResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CanTransferOwnershipResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CanTransferOwnershipResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CanTransferOwnershipResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatAction *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatAction &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatAction *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatActionBar *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatActionBar &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatActionBar *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatAvailableReactions *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatAvailableReactions &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatAvailableReactions *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatBoostSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatBoostSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatBoostSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatEventAction *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatEventAction &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatEventAction *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatList *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatList &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatList *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatMemberStatus *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatMemberStatus &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatMemberStatus *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatMembersFilter *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatMembersFilter &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatMembersFilter *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatPhotoStickerType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatPhotoStickerType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatPhotoStickerType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatRevenueTransactionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatRevenueTransactionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatRevenueTransactionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatStatistics *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatStatistics &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatStatistics *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatStatisticsObjectType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatStatisticsObjectType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatStatisticsObjectType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatTheme *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatTheme &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatTheme *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ChatType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ChatType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ChatType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CheckChatUsernameResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CheckChatUsernameResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CheckChatUsernameResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CheckStickerSetNameResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CheckStickerSetNameResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CheckStickerSetNameResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CollectibleItemType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CollectibleItemType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CollectibleItemType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ConnectionState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ConnectionState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ConnectionState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, CraftGiftResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (CraftGiftResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, CraftGiftResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, DateTimeFormattingType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (DateTimeFormattingType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, DateTimeFormattingType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, DateTimePartPrecision *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (DateTimePartPrecision &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, DateTimePartPrecision *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, DeviceToken *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (DeviceToken &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, DeviceToken *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, DiceStickers *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (DiceStickers &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, DiceStickers *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, DiffEntityType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (DiffEntityType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, DiffEntityType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, EmailAddressAuthentication *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (EmailAddressAuthentication &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, EmailAddressAuthentication *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, EmailAddressResetState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (EmailAddressResetState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, EmailAddressResetState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, EmojiCategorySource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (EmojiCategorySource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, EmojiCategorySource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, EmojiCategoryType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (EmojiCategoryType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, EmojiCategoryType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, EmojiStatusType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (EmojiStatusType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, EmojiStatusType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, FileType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (FileType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, FileType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, FirebaseAuthenticationSettings *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (FirebaseAuthenticationSettings &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, FirebaseAuthenticationSettings *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, FirebaseDeviceVerificationParameters *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (FirebaseDeviceVerificationParameters &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, FirebaseDeviceVerificationParameters *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiftForResaleOrder *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiftForResaleOrder &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiftForResaleOrder *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiftPurchaseOfferState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiftPurchaseOfferState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiftPurchaseOfferState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiftResalePrice *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiftResalePrice &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiftResalePrice *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiftResaleResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiftResaleResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiftResaleResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiveawayInfo *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiveawayInfo &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiveawayInfo *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiveawayParticipantStatus *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiveawayParticipantStatus &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiveawayParticipantStatus *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GiveawayPrize *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GiveawayPrize &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GiveawayPrize *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GroupCallDataChannel *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GroupCallDataChannel &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GroupCallDataChannel *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, GroupCallVideoQuality *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (GroupCallVideoQuality &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, GroupCallVideoQuality *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InlineKeyboardButtonType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InlineKeyboardButtonType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InlineKeyboardButtonType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InlineQueryResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InlineQueryResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InlineQueryResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InlineQueryResultsButtonType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InlineQueryResultsButtonType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InlineQueryResultsButtonType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputBackground *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputBackground &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputBackground *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputCall *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputCall &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputCall *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputChatPhoto *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputChatPhoto &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputChatPhoto *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputChatTheme *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputChatTheme &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputChatTheme *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputCredentials *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputCredentials &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputCredentials *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputFile *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputFile &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputFile *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputGroupCall *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputGroupCall &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputGroupCall *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputInlineQueryResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputInlineQueryResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputInlineQueryResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputInvoice *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputInvoice &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputInvoice *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputMessageContent *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputMessageContent &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputMessageContent *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputMessageReplyTo *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputMessageReplyTo &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputMessageReplyTo *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputPaidMediaType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputPaidMediaType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputPaidMediaType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputPassportElement *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputPassportElement &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputPassportElement *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputPassportElementErrorSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputPassportElementErrorSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputPassportElementErrorSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputPollType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputPollType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputPollType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputStoryAreaType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputStoryAreaType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputStoryAreaType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InputStoryContent *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InputStoryContent &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InputStoryContent *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InternalLinkType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InternalLinkType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InternalLinkType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InviteGroupCallParticipantResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InviteGroupCallParticipantResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InviteGroupCallParticipantResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, InviteLinkChatType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (InviteLinkChatType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, InviteLinkChatType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, JsonValue *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (JsonValue &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, JsonValue *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, KeyboardButtonSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (KeyboardButtonSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, KeyboardButtonSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, KeyboardButtonType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (KeyboardButtonType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, KeyboardButtonType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, LanguagePackStringValue *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (LanguagePackStringValue &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, LanguagePackStringValue *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, LinkPreviewAlbumMedia *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (LinkPreviewAlbumMedia &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, LinkPreviewAlbumMedia *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, LinkPreviewType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (LinkPreviewType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, LinkPreviewType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, LogStream *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (LogStream &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, LogStream *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, LoginUrlInfo *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (LoginUrlInfo &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, LoginUrlInfo *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MaskPoint *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MaskPoint &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MaskPoint *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageContent *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageContent &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageContent *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageEffectType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageEffectType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageEffectType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageFileType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageFileType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageFileType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageOrigin *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageOrigin &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageOrigin *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageReadDate *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageReadDate &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageReadDate *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageReplyTo *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageReplyTo &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageReplyTo *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageSchedulingState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageSchedulingState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageSchedulingState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageSelfDestructType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageSelfDestructType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageSelfDestructType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageSender *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageSender &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageSender *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageSendingState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageSendingState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageSendingState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, MessageTopic *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (MessageTopic &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, MessageTopic *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, NetworkStatisticsEntry *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (NetworkStatisticsEntry &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, NetworkStatisticsEntry *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, NetworkType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (NetworkType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, NetworkType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, NotificationGroupType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (NotificationGroupType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, NotificationGroupType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, NotificationSettingsScope *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (NotificationSettingsScope &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, NotificationSettingsScope *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, NotificationType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (NotificationType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, NotificationType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, OptionValue *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (OptionValue &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, OptionValue *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PageBlock *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PageBlock &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PageBlock *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PageBlockHorizontalAlignment *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PageBlockHorizontalAlignment &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PageBlockHorizontalAlignment *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PageBlockVerticalAlignment *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PageBlockVerticalAlignment &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PageBlockVerticalAlignment *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PaidMedia *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PaidMedia &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PaidMedia *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PaidReactionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PaidReactionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PaidReactionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PassportElement *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PassportElement &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PassportElement *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PassportElementErrorSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PassportElementErrorSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PassportElementErrorSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PassportElementType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PassportElementType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PassportElementType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PaymentFormType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PaymentFormType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PaymentFormType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PaymentProvider *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PaymentProvider &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PaymentProvider *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PaymentReceiptType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PaymentReceiptType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PaymentReceiptType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PhoneNumberCodeType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PhoneNumberCodeType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PhoneNumberCodeType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PollType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PollType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PollType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PollVoteRestrictionReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PollVoteRestrictionReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PollVoteRestrictionReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PremiumFeature *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PremiumFeature &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PremiumFeature *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PremiumLimitType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PremiumLimitType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PremiumLimitType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PremiumSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PremiumSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PremiumSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PremiumStoryFeature *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PremiumStoryFeature &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PremiumStoryFeature *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ProfileTab *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ProfileTab &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ProfileTab *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ProxyType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ProxyType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ProxyType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PublicChatType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PublicChatType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PublicChatType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PublicForward *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PublicForward &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PublicForward *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, PushMessageContent *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (PushMessageContent &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, PushMessageContent *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReactionNotificationSource *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReactionNotificationSource &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReactionNotificationSource *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReactionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReactionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReactionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReactionUnavailabilityReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReactionUnavailabilityReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReactionUnavailabilityReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReplyMarkup *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReplyMarkup &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReplyMarkup *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReportChatResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReportChatResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReportChatResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReportReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReportReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReportReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReportSponsoredResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReportSponsoredResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReportSponsoredResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ReportStoryResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ReportStoryResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ReportStoryResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ResendCodeReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ResendCodeReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ResendCodeReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ResetPasswordResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ResetPasswordResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ResetPasswordResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, RevenueWithdrawalState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (RevenueWithdrawalState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, RevenueWithdrawalState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, RichText *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (RichText &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, RichText *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SavedMessagesTopicType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SavedMessagesTopicType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SavedMessagesTopicType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SearchMessagesChatTypeFilter *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SearchMessagesChatTypeFilter &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SearchMessagesChatTypeFilter *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SearchMessagesFilter *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SearchMessagesFilter &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SearchMessagesFilter *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SecretChatState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SecretChatState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SecretChatState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SentGift *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SentGift &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SentGift *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SessionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SessionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SessionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SettingsSection *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SettingsSection &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SettingsSection *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SpeechRecognitionResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SpeechRecognitionResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SpeechRecognitionResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StarSubscriptionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StarSubscriptionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StarSubscriptionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StarTransactionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StarTransactionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StarTransactionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StartLiveStoryResult *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StartLiveStoryResult &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StartLiveStoryResult *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StatisticalGraph *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StatisticalGraph &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StatisticalGraph *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StickerFormat *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StickerFormat &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StickerFormat *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StickerFullType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StickerFullType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StickerFullType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StickerType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StickerType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StickerType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StorePaymentPurpose *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StorePaymentPurpose &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StorePaymentPurpose *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoreTransaction *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoreTransaction &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoreTransaction *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryAreaType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryAreaType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryAreaType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryContent *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryContent &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryContent *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryContentType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryContentType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryContentType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryInteractionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryInteractionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryInteractionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryList *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryList &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryList *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryOrigin *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryOrigin &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryOrigin *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, StoryPrivacySettings *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (StoryPrivacySettings &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, StoryPrivacySettings *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SuggestedAction *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SuggestedAction &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SuggestedAction *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SuggestedPostPrice *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SuggestedPostPrice &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SuggestedPostPrice *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SuggestedPostRefundReason *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SuggestedPostRefundReason &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SuggestedPostRefundReason *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SuggestedPostState *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SuggestedPostState &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SuggestedPostState *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, SupergroupMembersFilter *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (SupergroupMembersFilter &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, SupergroupMembersFilter *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TMeUrlType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TMeUrlType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TMeUrlType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TargetChat *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TargetChat &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TargetChat *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TelegramPaymentPurpose *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TelegramPaymentPurpose &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TelegramPaymentPurpose *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TextEntityType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TextEntityType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TextEntityType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TextParseMode *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TextParseMode &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TextParseMode *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, ThumbnailFormat *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (ThumbnailFormat &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, ThumbnailFormat *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TonTransactionType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TonTransactionType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TonTransactionType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TopChatCategory *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TopChatCategory &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TopChatCategory *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, TransactionDirection *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (TransactionDirection &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, TransactionDirection *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, Update *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (Update &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, Update *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UpgradedGiftAttributeId *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UpgradedGiftAttributeId &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UpgradedGiftAttributeId *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UpgradedGiftAttributeRarity *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UpgradedGiftAttributeRarity &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UpgradedGiftAttributeRarity *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UpgradedGiftOrigin *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UpgradedGiftOrigin &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UpgradedGiftOrigin *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UserPrivacySetting *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UserPrivacySetting &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UserPrivacySetting *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UserPrivacySettingRule *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UserPrivacySettingRule &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UserPrivacySettingRule *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UserStatus *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UserStatus &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UserStatus *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, UserType *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (UserType &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, UserType *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, VectorPathCommand *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (VectorPathCommand &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, VectorPathCommand *obj, const T &func)
 
template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl (int32 constructor, WebAppOpenMode *obj, const T &func)
 
template<class T >
bool td::td_api::downcast_call (WebAppOpenMode &obj, const T &func)
 
template<class T >
bool td::td_api::downcast_construct_call (int32 constructor, WebAppOpenMode *obj, const T &func)
 

Detailed Description

Contains downcast_call methods for calling a function object on downcasted to the most derived class TDLib API object.

Definition in file td_api.hpp.

Typedef Documentation

◆ downcast_call_target_t

template<class T >
using td::td_api::downcast_call_target_t = typedef typename downcast_call_target<T>::type

Definition at line 32 of file td_api.hpp.

Function Documentation

◆ downcast_call() [1/203]

template<class T >
bool td::td_api::downcast_call ( ActiveStoryState obj,
const T &  func 
)

Definition at line 24279 of file td_api.hpp.

24279 {
24280 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24281}

◆ downcast_call() [2/203]

template<class T >
bool td::td_api::downcast_call ( AffiliateProgramSortOrder obj,
const T &  func 
)

Definition at line 24330 of file td_api.hpp.

24330 {
24331 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24332}

◆ downcast_call() [3/203]

template<class T >
bool td::td_api::downcast_call ( AffiliateType obj,
const T &  func 
)

Definition at line 24381 of file td_api.hpp.

24381 {
24382 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24383}

◆ downcast_call() [4/203]

template<class T >
bool td::td_api::downcast_call ( AuctionState obj,
const T &  func 
)

Definition at line 24432 of file td_api.hpp.

24432 {
24433 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24434}

◆ downcast_call() [5/203]

template<class T >
bool td::td_api::downcast_call ( AuthenticationCodeType obj,
const T &  func 
)

Definition at line 24475 of file td_api.hpp.

24475 {
24476 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24477}

◆ downcast_call() [6/203]

template<class T >
bool td::td_api::downcast_call ( AuthorizationState obj,
const T &  func 
)

Definition at line 24582 of file td_api.hpp.

24582 {
24583 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24584}

◆ downcast_call() [7/203]

template<class T >
bool td::td_api::downcast_call ( AutosaveSettingsScope obj,
const T &  func 
)

Definition at line 24713 of file td_api.hpp.

24713 {
24714 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24715}

◆ downcast_call() [8/203]

template<class T >
bool td::td_api::downcast_call ( BackgroundFill obj,
const T &  func 
)

Definition at line 24772 of file td_api.hpp.

24772 {
24773 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24774}

◆ downcast_call() [9/203]

template<class T >
bool td::td_api::downcast_call ( BackgroundType obj,
const T &  func 
)

Definition at line 24823 of file td_api.hpp.

24823 {
24824 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24825}

◆ downcast_call() [10/203]

template<class T >
bool td::td_api::downcast_call ( BlockList obj,
const T &  func 
)

Definition at line 24882 of file td_api.hpp.

24882 {
24883 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24884}

◆ downcast_call() [11/203]

template<class T >
bool td::td_api::downcast_call ( BotCommandScope obj,
const T &  func 
)

Definition at line 24925 of file td_api.hpp.

24925 {
24926 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
24927}

◆ downcast_call() [12/203]

template<class T >
bool td::td_api::downcast_call ( BotWriteAccessAllowReason obj,
const T &  func 
)

Definition at line 25008 of file td_api.hpp.

25008 {
25009 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25010}

◆ downcast_call() [13/203]

template<class T >
bool td::td_api::downcast_call ( BuiltInTheme obj,
const T &  func 
)

Definition at line 25067 of file td_api.hpp.

25067 {
25068 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25069}

◆ downcast_call() [14/203]

template<class T >
bool td::td_api::downcast_call ( BusinessAwayMessageSchedule obj,
const T &  func 
)

Definition at line 25134 of file td_api.hpp.

25134 {
25135 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25136}

◆ downcast_call() [15/203]

template<class T >
bool td::td_api::downcast_call ( BusinessFeature obj,
const T &  func 
)

Definition at line 25185 of file td_api.hpp.

25185 {
25186 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25187}

◆ downcast_call() [16/203]

template<class T >
bool td::td_api::downcast_call ( ButtonStyle obj,
const T &  func 
)

Definition at line 25300 of file td_api.hpp.

25300 {
25301 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25302}

◆ downcast_call() [17/203]

template<class T >
bool td::td_api::downcast_call ( CallbackQueryPayload obj,
const T &  func 
)

Definition at line 25651 of file td_api.hpp.

25651 {
25652 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25653}

◆ downcast_call() [18/203]

template<class T >
bool td::td_api::downcast_call ( CallDiscardReason obj,
const T &  func 
)

Definition at line 25359 of file td_api.hpp.

25359 {
25360 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25361}

◆ downcast_call() [19/203]

template<class T >
bool td::td_api::downcast_call ( CallProblem obj,
const T &  func 
)

Definition at line 25434 of file td_api.hpp.

25434 {
25435 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25436}

◆ downcast_call() [20/203]

template<class T >
bool td::td_api::downcast_call ( CallServerType obj,
const T &  func 
)

Definition at line 25533 of file td_api.hpp.

25533 {
25534 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25535}

◆ downcast_call() [21/203]

template<class T >
bool td::td_api::downcast_call ( CallState obj,
const T &  func 
)

Definition at line 25576 of file td_api.hpp.

25576 {
25577 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25578}

◆ downcast_call() [22/203]

template<class T >
bool td::td_api::downcast_call ( CanPostStoryResult obj,
const T &  func 
)

Definition at line 25702 of file td_api.hpp.

25702 {
25703 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25704}

◆ downcast_call() [23/203]

template<class T >
bool td::td_api::downcast_call ( CanSendGiftResult obj,
const T &  func 
)

Definition at line 25785 of file td_api.hpp.

25785 {
25786 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25787}

◆ downcast_call() [24/203]

template<class T >
bool td::td_api::downcast_call ( CanSendMessageToUserResult obj,
const T &  func 
)

Definition at line 25828 of file td_api.hpp.

25828 {
25829 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25830}

◆ downcast_call() [25/203]

template<class T >
bool td::td_api::downcast_call ( CanTransferOwnershipResult obj,
const T &  func 
)

Definition at line 25887 of file td_api.hpp.

25887 {
25888 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25889}

◆ downcast_call() [26/203]

template<class T >
bool td::td_api::downcast_call ( ChatAction obj,
const T &  func 
)

Definition at line 25946 of file td_api.hpp.

25946 {
25947 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
25948}

◆ downcast_call() [27/203]

template<class T >
bool td::td_api::downcast_call ( ChatActionBar obj,
const T &  func 
)

Definition at line 26093 of file td_api.hpp.

26093 {
26094 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26095}

◆ downcast_call() [28/203]

template<class T >
bool td::td_api::downcast_call ( ChatAvailableReactions obj,
const T &  func 
)

Definition at line 26168 of file td_api.hpp.

26168 {
26169 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26170}

◆ downcast_call() [29/203]

template<class T >
bool td::td_api::downcast_call ( ChatBoostSource obj,
const T &  func 
)

Definition at line 26211 of file td_api.hpp.

26211 {
26212 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26213}

◆ downcast_call() [30/203]

template<class T >
bool td::td_api::downcast_call ( ChatEventAction obj,
const T &  func 
)

Definition at line 26262 of file td_api.hpp.

26262 {
26263 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26264}

◆ downcast_call() [31/203]

template<class T >
bool td::td_api::downcast_call ( ChatList obj,
const T &  func 
)

Definition at line 26713 of file td_api.hpp.

26713 {
26714 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26715}

◆ downcast_call() [32/203]

template<class T >
bool td::td_api::downcast_call ( ChatMembersFilter obj,
const T &  func 
)

Definition at line 26839 of file td_api.hpp.

26839 {
26840 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26841}

◆ downcast_call() [33/203]

template<class T >
bool td::td_api::downcast_call ( ChatMemberStatus obj,
const T &  func 
)

Definition at line 26764 of file td_api.hpp.

26764 {
26765 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26766}

◆ downcast_call() [34/203]

template<class T >
bool td::td_api::downcast_call ( ChatPhotoStickerType obj,
const T &  func 
)

Definition at line 26922 of file td_api.hpp.

26922 {
26923 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26924}

◆ downcast_call() [35/203]

template<class T >
bool td::td_api::downcast_call ( ChatRevenueTransactionType obj,
const T &  func 
)

Definition at line 26965 of file td_api.hpp.

26965 {
26966 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
26967}

◆ downcast_call() [36/203]

template<class T >
bool td::td_api::downcast_call ( ChatSource obj,
const T &  func 
)

Definition at line 27032 of file td_api.hpp.

27032 {
27033 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27034}

◆ downcast_call() [37/203]

template<class T >
bool td::td_api::downcast_call ( ChatStatistics obj,
const T &  func 
)

Definition at line 27075 of file td_api.hpp.

27075 {
27076 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27077}

◆ downcast_call() [38/203]

template<class T >
bool td::td_api::downcast_call ( ChatStatisticsObjectType obj,
const T &  func 
)

Definition at line 27118 of file td_api.hpp.

27118 {
27119 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27120}

◆ downcast_call() [39/203]

template<class T >
bool td::td_api::downcast_call ( ChatTheme obj,
const T &  func 
)

Definition at line 27161 of file td_api.hpp.

27161 {
27162 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27163}

◆ downcast_call() [40/203]

template<class T >
bool td::td_api::downcast_call ( ChatType obj,
const T &  func 
)

Definition at line 27204 of file td_api.hpp.

27204 {
27205 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27206}

◆ downcast_call() [41/203]

template<class T >
bool td::td_api::downcast_call ( CheckChatUsernameResult obj,
const T &  func 
)

Definition at line 27263 of file td_api.hpp.

27263 {
27264 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27265}

◆ downcast_call() [42/203]

template<class T >
bool td::td_api::downcast_call ( CheckStickerSetNameResult obj,
const T &  func 
)

Definition at line 27338 of file td_api.hpp.

27338 {
27339 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27340}

◆ downcast_call() [43/203]

template<class T >
bool td::td_api::downcast_call ( CollectibleItemType obj,
const T &  func 
)

Definition at line 27389 of file td_api.hpp.

27389 {
27390 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27391}

◆ downcast_call() [44/203]

template<class T >
bool td::td_api::downcast_call ( ConnectionState obj,
const T &  func 
)

Definition at line 27432 of file td_api.hpp.

27432 {
27433 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27434}

◆ downcast_call() [45/203]

template<class Base , class T >
bool td::td_api::downcast_call ( const Base &  obj,
const T &  func 
)

Definition at line 35 of file td_api.hpp.

35 {
36 return downcast_call(const_cast<Base &>(obj), [&](auto &value) { func(std::as_const(value)); });
37}

◆ downcast_call() [46/203]

template<class T >
bool td::td_api::downcast_call ( CraftGiftResult obj,
const T &  func 
)

Definition at line 27499 of file td_api.hpp.

27499 {
27500 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27501}

◆ downcast_call() [47/203]

template<class T >
bool td::td_api::downcast_call ( DateTimeFormattingType obj,
const T &  func 
)

Definition at line 27558 of file td_api.hpp.

27558 {
27559 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27560}

◆ downcast_call() [48/203]

template<class T >
bool td::td_api::downcast_call ( DateTimePartPrecision obj,
const T &  func 
)

Definition at line 27601 of file td_api.hpp.

27601 {
27602 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27603}

◆ downcast_call() [49/203]

template<class T >
bool td::td_api::downcast_call ( DeviceToken obj,
const T &  func 
)

Definition at line 27652 of file td_api.hpp.

27652 {
27653 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27654}

◆ downcast_call() [50/203]

template<class T >
bool td::td_api::downcast_call ( DiceStickers obj,
const T &  func 
)

Definition at line 27775 of file td_api.hpp.

27775 {
27776 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27777}

◆ downcast_call() [51/203]

template<class T >
bool td::td_api::downcast_call ( DiffEntityType obj,
const T &  func 
)

Definition at line 27818 of file td_api.hpp.

27818 {
27819 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27820}

◆ downcast_call() [52/203]

template<class T >
bool td::td_api::downcast_call ( EmailAddressAuthentication obj,
const T &  func 
)

Definition at line 27869 of file td_api.hpp.

27869 {
27870 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27871}

◆ downcast_call() [53/203]

template<class T >
bool td::td_api::downcast_call ( EmailAddressResetState obj,
const T &  func 
)

Definition at line 27920 of file td_api.hpp.

27920 {
27921 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27922}

◆ downcast_call() [54/203]

template<class T >
bool td::td_api::downcast_call ( EmojiCategorySource obj,
const T &  func 
)

Definition at line 27963 of file td_api.hpp.

27963 {
27964 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
27965}

◆ downcast_call() [55/203]

template<class T >
bool td::td_api::downcast_call ( EmojiCategoryType obj,
const T &  func 
)

Definition at line 28006 of file td_api.hpp.

28006 {
28007 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28008}

◆ downcast_call() [56/203]

template<class T >
bool td::td_api::downcast_call ( EmojiStatusType obj,
const T &  func 
)

Definition at line 28065 of file td_api.hpp.

28065 {
28066 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28067}

◆ downcast_call() [57/203]

template<class T >
bool td::td_api::downcast_call ( FileType obj,
const T &  func 
)

Definition at line 28108 of file td_api.hpp.

28108 {
28109 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28110}

◆ downcast_call() [58/203]

template<class T >
bool td::td_api::downcast_call ( FirebaseAuthenticationSettings obj,
const T &  func 
)

Definition at line 28335 of file td_api.hpp.

28335 {
28336 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28337}

◆ downcast_call() [59/203]

template<class T >
bool td::td_api::downcast_call ( FirebaseDeviceVerificationParameters obj,
const T &  func 
)

Definition at line 28378 of file td_api.hpp.

28378 {
28379 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28380}

◆ downcast_call() [60/203]

template<class T >
bool td::td_api::downcast_call ( Function obj,
const T &  func 
)

Definition at line 16404 of file td_api.hpp.

16404 {
16405 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
16406}

◆ downcast_call() [61/203]

template<class T >
bool td::td_api::downcast_call ( GiftForResaleOrder obj,
const T &  func 
)

Definition at line 28421 of file td_api.hpp.

28421 {
28422 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28423}

◆ downcast_call() [62/203]

template<class T >
bool td::td_api::downcast_call ( GiftPurchaseOfferState obj,
const T &  func 
)

Definition at line 28472 of file td_api.hpp.

28472 {
28473 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28474}

◆ downcast_call() [63/203]

template<class T >
bool td::td_api::downcast_call ( GiftResalePrice obj,
const T &  func 
)

Definition at line 28523 of file td_api.hpp.

28523 {
28524 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28525}

◆ downcast_call() [64/203]

template<class T >
bool td::td_api::downcast_call ( GiftResaleResult obj,
const T &  func 
)

Definition at line 28566 of file td_api.hpp.

28566 {
28567 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28568}

◆ downcast_call() [65/203]

template<class T >
bool td::td_api::downcast_call ( GiveawayInfo obj,
const T &  func 
)

Definition at line 28609 of file td_api.hpp.

28609 {
28610 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28611}

◆ downcast_call() [66/203]

template<class T >
bool td::td_api::downcast_call ( GiveawayParticipantStatus obj,
const T &  func 
)

Definition at line 28652 of file td_api.hpp.

28652 {
28653 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28654}

◆ downcast_call() [67/203]

template<class T >
bool td::td_api::downcast_call ( GiveawayPrize obj,
const T &  func 
)

Definition at line 28719 of file td_api.hpp.

28719 {
28720 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28721}

◆ downcast_call() [68/203]

template<class T >
bool td::td_api::downcast_call ( GroupCallDataChannel obj,
const T &  func 
)

Definition at line 28762 of file td_api.hpp.

28762 {
28763 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28764}

◆ downcast_call() [69/203]

template<class T >
bool td::td_api::downcast_call ( GroupCallVideoQuality obj,
const T &  func 
)

Definition at line 28805 of file td_api.hpp.

28805 {
28806 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28807}

◆ downcast_call() [70/203]

template<class T >
bool td::td_api::downcast_call ( InlineKeyboardButtonType obj,
const T &  func 
)

Definition at line 28856 of file td_api.hpp.

28856 {
28857 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28858}

◆ downcast_call() [71/203]

template<class T >
bool td::td_api::downcast_call ( InlineQueryResult obj,
const T &  func 
)

Definition at line 28963 of file td_api.hpp.

28963 {
28964 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
28965}

◆ downcast_call() [72/203]

template<class T >
bool td::td_api::downcast_call ( InlineQueryResultsButtonType obj,
const T &  func 
)

Definition at line 29086 of file td_api.hpp.

29086 {
29087 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29088}

◆ downcast_call() [73/203]

template<class T >
bool td::td_api::downcast_call ( InputBackground obj,
const T &  func 
)

Definition at line 29129 of file td_api.hpp.

29129 {
29130 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29131}

◆ downcast_call() [74/203]

template<class T >
bool td::td_api::downcast_call ( InputCall obj,
const T &  func 
)

Definition at line 29180 of file td_api.hpp.

29180 {
29181 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29182}

◆ downcast_call() [75/203]

template<class T >
bool td::td_api::downcast_call ( InputChatPhoto obj,
const T &  func 
)

Definition at line 29223 of file td_api.hpp.

29223 {
29224 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29225}

◆ downcast_call() [76/203]

template<class T >
bool td::td_api::downcast_call ( InputChatTheme obj,
const T &  func 
)

Definition at line 29282 of file td_api.hpp.

29282 {
29283 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29284}

◆ downcast_call() [77/203]

template<class T >
bool td::td_api::downcast_call ( InputCredentials obj,
const T &  func 
)

Definition at line 29325 of file td_api.hpp.

29325 {
29326 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29327}

◆ downcast_call() [78/203]

template<class T >
bool td::td_api::downcast_call ( InputFile obj,
const T &  func 
)

Definition at line 29384 of file td_api.hpp.

29384 {
29385 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29386}

◆ downcast_call() [79/203]

template<class T >
bool td::td_api::downcast_call ( InputGroupCall obj,
const T &  func 
)

Definition at line 29443 of file td_api.hpp.

29443 {
29444 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29445}

◆ downcast_call() [80/203]

template<class T >
bool td::td_api::downcast_call ( InputInlineQueryResult obj,
const T &  func 
)

Definition at line 29486 of file td_api.hpp.

29486 {
29487 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29488}

◆ downcast_call() [81/203]

template<class T >
bool td::td_api::downcast_call ( InputInvoice obj,
const T &  func 
)

Definition at line 29609 of file td_api.hpp.

29609 {
29610 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29611}

◆ downcast_call() [82/203]

template<class T >
bool td::td_api::downcast_call ( InputMessageContent obj,
const T &  func 
)

Definition at line 29660 of file td_api.hpp.

29660 {
29661 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29662}

◆ downcast_call() [83/203]

template<class T >
bool td::td_api::downcast_call ( InputMessageReplyTo obj,
const T &  func 
)

Definition at line 29855 of file td_api.hpp.

29855 {
29856 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29857}

◆ downcast_call() [84/203]

template<class T >
bool td::td_api::downcast_call ( InputPaidMediaType obj,
const T &  func 
)

Definition at line 29906 of file td_api.hpp.

29906 {
29907 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29908}

◆ downcast_call() [85/203]

template<class T >
bool td::td_api::downcast_call ( InputPassportElement obj,
const T &  func 
)

Definition at line 29949 of file td_api.hpp.

29949 {
29950 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
29951}

◆ downcast_call() [86/203]

template<class T >
bool td::td_api::downcast_call ( InputPassportElementErrorSource obj,
const T &  func 
)

Definition at line 30080 of file td_api.hpp.

30080 {
30081 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30082}

◆ downcast_call() [87/203]

template<class T >
bool td::td_api::downcast_call ( InputPollType obj,
const T &  func 
)

Definition at line 30179 of file td_api.hpp.

30179 {
30180 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30181}

◆ downcast_call() [88/203]

template<class T >
bool td::td_api::downcast_call ( InputStoryAreaType obj,
const T &  func 
)

Definition at line 30222 of file td_api.hpp.

30222 {
30223 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30224}

◆ downcast_call() [89/203]

template<class T >
bool td::td_api::downcast_call ( InputStoryContent obj,
const T &  func 
)

Definition at line 30313 of file td_api.hpp.

30313 {
30314 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30315}

◆ downcast_call() [90/203]

template<class T >
bool td::td_api::downcast_call ( InternalLinkType obj,
const T &  func 
)

Definition at line 30356 of file td_api.hpp.

30356 {
30357 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30358}

◆ downcast_call() [91/203]

template<class T >
bool td::td_api::downcast_call ( InviteGroupCallParticipantResult obj,
const T &  func 
)

Definition at line 30839 of file td_api.hpp.

30839 {
30840 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30841}

◆ downcast_call() [92/203]

template<class T >
bool td::td_api::downcast_call ( InviteLinkChatType obj,
const T &  func 
)

Definition at line 30898 of file td_api.hpp.

30898 {
30899 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30900}

◆ downcast_call() [93/203]

template<class T >
bool td::td_api::downcast_call ( JsonValue obj,
const T &  func 
)

Definition at line 30949 of file td_api.hpp.

30949 {
30950 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
30951}

◆ downcast_call() [94/203]

template<class T >
bool td::td_api::downcast_call ( KeyboardButtonSource obj,
const T &  func 
)

Definition at line 31024 of file td_api.hpp.

31024 {
31025 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31026}

◆ downcast_call() [95/203]

template<class T >
bool td::td_api::downcast_call ( KeyboardButtonType obj,
const T &  func 
)

Definition at line 31067 of file td_api.hpp.

31067 {
31068 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31069}

◆ downcast_call() [96/203]

template<class T >
bool td::td_api::downcast_call ( LanguagePackStringValue obj,
const T &  func 
)

Definition at line 31158 of file td_api.hpp.

31158 {
31159 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31160}

◆ downcast_call() [97/203]

template<class T >
bool td::td_api::downcast_call ( LinkPreviewAlbumMedia obj,
const T &  func 
)

Definition at line 31209 of file td_api.hpp.

31209 {
31210 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31211}

◆ downcast_call() [98/203]

template<class T >
bool td::td_api::downcast_call ( LinkPreviewType obj,
const T &  func 
)

Definition at line 31252 of file td_api.hpp.

31252 {
31253 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31254}

◆ downcast_call() [99/203]

template<class T >
bool td::td_api::downcast_call ( LoginUrlInfo obj,
const T &  func 
)

Definition at line 31642 of file td_api.hpp.

31642 {
31643 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31644}

◆ downcast_call() [100/203]

template<class T >
bool td::td_api::downcast_call ( LogStream obj,
const T &  func 
)

Definition at line 31591 of file td_api.hpp.

31591 {
31592 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31593}

◆ downcast_call() [101/203]

template<class T >
bool td::td_api::downcast_call ( MaskPoint obj,
const T &  func 
)

Definition at line 31685 of file td_api.hpp.

31685 {
31686 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31687}

◆ downcast_call() [102/203]

template<class T >
bool td::td_api::downcast_call ( MessageContent obj,
const T &  func 
)

Definition at line 31744 of file td_api.hpp.

31744 {
31745 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
31746}

◆ downcast_call() [103/203]

template<class T >
bool td::td_api::downcast_call ( MessageEffectType obj,
const T &  func 
)

Definition at line 32571 of file td_api.hpp.

32571 {
32572 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32573}

◆ downcast_call() [104/203]

template<class T >
bool td::td_api::downcast_call ( MessageFileType obj,
const T &  func 
)

Definition at line 32614 of file td_api.hpp.

32614 {
32615 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32616}

◆ downcast_call() [105/203]

template<class T >
bool td::td_api::downcast_call ( MessageOrigin obj,
const T &  func 
)

Definition at line 32665 of file td_api.hpp.

32665 {
32666 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32667}

◆ downcast_call() [106/203]

template<class T >
bool td::td_api::downcast_call ( MessageReadDate obj,
const T &  func 
)

Definition at line 32724 of file td_api.hpp.

32724 {
32725 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32726}

◆ downcast_call() [107/203]

template<class T >
bool td::td_api::downcast_call ( MessageReplyTo obj,
const T &  func 
)

Definition at line 32791 of file td_api.hpp.

32791 {
32792 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32793}

◆ downcast_call() [108/203]

template<class T >
bool td::td_api::downcast_call ( MessageSchedulingState obj,
const T &  func 
)

Definition at line 32834 of file td_api.hpp.

32834 {
32835 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32836}

◆ downcast_call() [109/203]

template<class T >
bool td::td_api::downcast_call ( MessageSelfDestructType obj,
const T &  func 
)

Definition at line 32885 of file td_api.hpp.

32885 {
32886 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32887}

◆ downcast_call() [110/203]

template<class T >
bool td::td_api::downcast_call ( MessageSender obj,
const T &  func 
)

Definition at line 32928 of file td_api.hpp.

32928 {
32929 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32930}

◆ downcast_call() [111/203]

template<class T >
bool td::td_api::downcast_call ( MessageSendingState obj,
const T &  func 
)

Definition at line 32971 of file td_api.hpp.

32971 {
32972 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
32973}

◆ downcast_call() [112/203]

template<class T >
bool td::td_api::downcast_call ( MessageSource obj,
const T &  func 
)

Definition at line 33014 of file td_api.hpp.

33014 {
33015 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33016}

◆ downcast_call() [113/203]

template<class T >
bool td::td_api::downcast_call ( MessageTopic obj,
const T &  func 
)

Definition at line 33129 of file td_api.hpp.

33129 {
33130 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33131}

◆ downcast_call() [114/203]

template<class T >
bool td::td_api::downcast_call ( NetworkStatisticsEntry obj,
const T &  func 
)

Definition at line 33188 of file td_api.hpp.

33188 {
33189 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33190}

◆ downcast_call() [115/203]

template<class T >
bool td::td_api::downcast_call ( NetworkType obj,
const T &  func 
)

Definition at line 33231 of file td_api.hpp.

33231 {
33232 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33233}

◆ downcast_call() [116/203]

template<class T >
bool td::td_api::downcast_call ( NotificationGroupType obj,
const T &  func 
)

Definition at line 33298 of file td_api.hpp.

33298 {
33299 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33300}

◆ downcast_call() [117/203]

template<class T >
bool td::td_api::downcast_call ( NotificationSettingsScope obj,
const T &  func 
)

Definition at line 33357 of file td_api.hpp.

33357 {
33358 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33359}

◆ downcast_call() [118/203]

template<class T >
bool td::td_api::downcast_call ( NotificationType obj,
const T &  func 
)

Definition at line 33408 of file td_api.hpp.

33408 {
33409 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33410}

◆ downcast_call() [119/203]

template<class T >
bool td::td_api::downcast_call ( Object obj,
const T &  func 
)

Definition at line 49 of file td_api.hpp.

49 {
50 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
51}

◆ downcast_call() [120/203]

template<class T >
bool td::td_api::downcast_call ( OptionValue obj,
const T &  func 
)

Definition at line 33467 of file td_api.hpp.

33467 {
33468 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33469}

◆ downcast_call() [121/203]

template<class T >
bool td::td_api::downcast_call ( PageBlock obj,
const T &  func 
)

Definition at line 33526 of file td_api.hpp.

33526 {
33527 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33528}

◆ downcast_call() [122/203]

template<class T >
bool td::td_api::downcast_call ( PageBlockHorizontalAlignment obj,
const T &  func 
)

Definition at line 33785 of file td_api.hpp.

33785 {
33786 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33787}

◆ downcast_call() [123/203]

template<class T >
bool td::td_api::downcast_call ( PageBlockVerticalAlignment obj,
const T &  func 
)

Definition at line 33836 of file td_api.hpp.

33836 {
33837 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33838}

◆ downcast_call() [124/203]

template<class T >
bool td::td_api::downcast_call ( PaidMedia obj,
const T &  func 
)

Definition at line 33887 of file td_api.hpp.

33887 {
33888 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33889}

◆ downcast_call() [125/203]

template<class T >
bool td::td_api::downcast_call ( PaidReactionType obj,
const T &  func 
)

Definition at line 33946 of file td_api.hpp.

33946 {
33947 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33948}

◆ downcast_call() [126/203]

template<class T >
bool td::td_api::downcast_call ( PassportElement obj,
const T &  func 
)

Definition at line 33997 of file td_api.hpp.

33997 {
33998 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
33999}

◆ downcast_call() [127/203]

template<class T >
bool td::td_api::downcast_call ( PassportElementErrorSource obj,
const T &  func 
)

Definition at line 34128 of file td_api.hpp.

34128 {
34129 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34130}

◆ downcast_call() [128/203]

template<class T >
bool td::td_api::downcast_call ( PassportElementType obj,
const T &  func 
)

Definition at line 34227 of file td_api.hpp.

34227 {
34228 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34229}

◆ downcast_call() [129/203]

template<class T >
bool td::td_api::downcast_call ( PaymentFormType obj,
const T &  func 
)

Definition at line 34358 of file td_api.hpp.

34358 {
34359 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34360}

◆ downcast_call() [130/203]

template<class T >
bool td::td_api::downcast_call ( PaymentProvider obj,
const T &  func 
)

Definition at line 34409 of file td_api.hpp.

34409 {
34410 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34411}

◆ downcast_call() [131/203]

template<class T >
bool td::td_api::downcast_call ( PaymentReceiptType obj,
const T &  func 
)

Definition at line 34460 of file td_api.hpp.

34460 {
34461 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34462}

◆ downcast_call() [132/203]

template<class T >
bool td::td_api::downcast_call ( PhoneNumberCodeType obj,
const T &  func 
)

Definition at line 34503 of file td_api.hpp.

34503 {
34504 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34505}

◆ downcast_call() [133/203]

template<class T >
bool td::td_api::downcast_call ( PollType obj,
const T &  func 
)

Definition at line 34554 of file td_api.hpp.

34554 {
34555 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34556}

◆ downcast_call() [134/203]

template<class T >
bool td::td_api::downcast_call ( PollVoteRestrictionReason obj,
const T &  func 
)

Definition at line 34597 of file td_api.hpp.

34597 {
34598 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34599}

◆ downcast_call() [135/203]

template<class T >
bool td::td_api::downcast_call ( PremiumFeature obj,
const T &  func 
)

Definition at line 34640 of file td_api.hpp.

34640 {
34641 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34642}

◆ downcast_call() [136/203]

template<class T >
bool td::td_api::downcast_call ( PremiumLimitType obj,
const T &  func 
)

Definition at line 34891 of file td_api.hpp.

34891 {
34892 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
34893}

◆ downcast_call() [137/203]

template<class T >
bool td::td_api::downcast_call ( PremiumSource obj,
const T &  func 
)

Definition at line 35086 of file td_api.hpp.

35086 {
35087 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35088}

◆ downcast_call() [138/203]

template<class T >
bool td::td_api::downcast_call ( PremiumStoryFeature obj,
const T &  func 
)

Definition at line 35161 of file td_api.hpp.

35161 {
35162 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35163}

◆ downcast_call() [139/203]

template<class T >
bool td::td_api::downcast_call ( ProfileTab obj,
const T &  func 
)

Definition at line 35244 of file td_api.hpp.

35244 {
35245 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35246}

◆ downcast_call() [140/203]

template<class T >
bool td::td_api::downcast_call ( ProxyType obj,
const T &  func 
)

Definition at line 35335 of file td_api.hpp.

35335 {
35336 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35337}

◆ downcast_call() [141/203]

template<class T >
bool td::td_api::downcast_call ( PublicChatType obj,
const T &  func 
)

Definition at line 35386 of file td_api.hpp.

35386 {
35387 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35388}

◆ downcast_call() [142/203]

template<class T >
bool td::td_api::downcast_call ( PublicForward obj,
const T &  func 
)

Definition at line 35429 of file td_api.hpp.

35429 {
35430 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35431}

◆ downcast_call() [143/203]

template<class T >
bool td::td_api::downcast_call ( PushMessageContent obj,
const T &  func 
)

Definition at line 35472 of file td_api.hpp.

35472 {
35473 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35474}

◆ downcast_call() [144/203]

template<class T >
bool td::td_api::downcast_call ( ReactionNotificationSource obj,
const T &  func 
)

Definition at line 35867 of file td_api.hpp.

35867 {
35868 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35869}

◆ downcast_call() [145/203]

template<class T >
bool td::td_api::downcast_call ( ReactionType obj,
const T &  func 
)

Definition at line 35918 of file td_api.hpp.

35918 {
35919 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35920}

◆ downcast_call() [146/203]

template<class T >
bool td::td_api::downcast_call ( ReactionUnavailabilityReason obj,
const T &  func 
)

Definition at line 35969 of file td_api.hpp.

35969 {
35970 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
35971}

◆ downcast_call() [147/203]

template<class T >
bool td::td_api::downcast_call ( ReplyMarkup obj,
const T &  func 
)

Definition at line 36012 of file td_api.hpp.

36012 {
36013 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36014}

◆ downcast_call() [148/203]

template<class T >
bool td::td_api::downcast_call ( ReportChatResult obj,
const T &  func 
)

Definition at line 36071 of file td_api.hpp.

36071 {
36072 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36073}

◆ downcast_call() [149/203]

template<class T >
bool td::td_api::downcast_call ( ReportReason obj,
const T &  func 
)

Definition at line 36130 of file td_api.hpp.

36130 {
36131 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36132}

◆ downcast_call() [150/203]

template<class T >
bool td::td_api::downcast_call ( ReportSponsoredResult obj,
const T &  func 
)

Definition at line 36237 of file td_api.hpp.

36237 {
36238 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36239}

◆ downcast_call() [151/203]

template<class T >
bool td::td_api::downcast_call ( ReportStoryResult obj,
const T &  func 
)

Definition at line 36304 of file td_api.hpp.

36304 {
36305 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36306}

◆ downcast_call() [152/203]

template<class T >
bool td::td_api::downcast_call ( ResendCodeReason obj,
const T &  func 
)

Definition at line 36355 of file td_api.hpp.

36355 {
36356 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36357}

◆ downcast_call() [153/203]

template<class T >
bool td::td_api::downcast_call ( ResetPasswordResult obj,
const T &  func 
)

Definition at line 36398 of file td_api.hpp.

36398 {
36399 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36400}

◆ downcast_call() [154/203]

template<class T >
bool td::td_api::downcast_call ( RevenueWithdrawalState obj,
const T &  func 
)

Definition at line 36449 of file td_api.hpp.

36449 {
36450 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36451}

◆ downcast_call() [155/203]

template<class T >
bool td::td_api::downcast_call ( RichText obj,
const T &  func 
)

Definition at line 36500 of file td_api.hpp.

36500 {
36501 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36502}

◆ downcast_call() [156/203]

template<class T >
bool td::td_api::downcast_call ( SavedMessagesTopicType obj,
const T &  func 
)

Definition at line 36663 of file td_api.hpp.

36663 {
36664 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36665}

◆ downcast_call() [157/203]

template<class T >
bool td::td_api::downcast_call ( SearchMessagesChatTypeFilter obj,
const T &  func 
)

Definition at line 36714 of file td_api.hpp.

36714 {
36715 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36716}

◆ downcast_call() [158/203]

template<class T >
bool td::td_api::downcast_call ( SearchMessagesFilter obj,
const T &  func 
)

Definition at line 36765 of file td_api.hpp.

36765 {
36766 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36767}

◆ downcast_call() [159/203]

template<class T >
bool td::td_api::downcast_call ( SecretChatState obj,
const T &  func 
)

Definition at line 36944 of file td_api.hpp.

36944 {
36945 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36946}

◆ downcast_call() [160/203]

template<class T >
bool td::td_api::downcast_call ( SentGift obj,
const T &  func 
)

Definition at line 36995 of file td_api.hpp.

36995 {
36996 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
36997}

◆ downcast_call() [161/203]

template<class T >
bool td::td_api::downcast_call ( SessionType obj,
const T &  func 
)

Definition at line 37038 of file td_api.hpp.

37038 {
37039 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37040}

◆ downcast_call() [162/203]

template<class T >
bool td::td_api::downcast_call ( SettingsSection obj,
const T &  func 
)

Definition at line 37201 of file td_api.hpp.

37201 {
37202 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37203}

◆ downcast_call() [163/203]

template<class T >
bool td::td_api::downcast_call ( SpeechRecognitionResult obj,
const T &  func 
)

Definition at line 37396 of file td_api.hpp.

37396 {
37397 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37398}

◆ downcast_call() [164/203]

template<class T >
bool td::td_api::downcast_call ( StarSubscriptionType obj,
const T &  func 
)

Definition at line 37447 of file td_api.hpp.

37447 {
37448 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37449}

◆ downcast_call() [165/203]

template<class T >
bool td::td_api::downcast_call ( StartLiveStoryResult obj,
const T &  func 
)

Definition at line 37877 of file td_api.hpp.

37877 {
37878 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37879}

◆ downcast_call() [166/203]

template<class T >
bool td::td_api::downcast_call ( StarTransactionType obj,
const T &  func 
)

Definition at line 37490 of file td_api.hpp.

37490 {
37491 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37492}

◆ downcast_call() [167/203]

template<class T >
bool td::td_api::downcast_call ( StatisticalGraph obj,
const T &  func 
)

Definition at line 37920 of file td_api.hpp.

37920 {
37921 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37922}

◆ downcast_call() [168/203]

template<class T >
bool td::td_api::downcast_call ( StickerFormat obj,
const T &  func 
)

Definition at line 37971 of file td_api.hpp.

37971 {
37972 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
37973}

◆ downcast_call() [169/203]

template<class T >
bool td::td_api::downcast_call ( StickerFullType obj,
const T &  func 
)

Definition at line 38022 of file td_api.hpp.

38022 {
38023 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38024}

◆ downcast_call() [170/203]

template<class T >
bool td::td_api::downcast_call ( StickerType obj,
const T &  func 
)

Definition at line 38073 of file td_api.hpp.

38073 {
38074 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38075}

◆ downcast_call() [171/203]

template<class T >
bool td::td_api::downcast_call ( StorePaymentPurpose obj,
const T &  func 
)

Definition at line 38124 of file td_api.hpp.

38124 {
38125 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38126}

◆ downcast_call() [172/203]

template<class T >
bool td::td_api::downcast_call ( StoreTransaction obj,
const T &  func 
)

Definition at line 38207 of file td_api.hpp.

38207 {
38208 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38209}

◆ downcast_call() [173/203]

template<class T >
bool td::td_api::downcast_call ( StoryAreaType obj,
const T &  func 
)

Definition at line 38250 of file td_api.hpp.

38250 {
38251 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38252}

◆ downcast_call() [174/203]

template<class T >
bool td::td_api::downcast_call ( StoryContent obj,
const T &  func 
)

Definition at line 38333 of file td_api.hpp.

38333 {
38334 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38335}

◆ downcast_call() [175/203]

template<class T >
bool td::td_api::downcast_call ( StoryContentType obj,
const T &  func 
)

Definition at line 38392 of file td_api.hpp.

38392 {
38393 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38394}

◆ downcast_call() [176/203]

template<class T >
bool td::td_api::downcast_call ( StoryInteractionType obj,
const T &  func 
)

Definition at line 38451 of file td_api.hpp.

38451 {
38452 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38453}

◆ downcast_call() [177/203]

template<class T >
bool td::td_api::downcast_call ( StoryList obj,
const T &  func 
)

Definition at line 38502 of file td_api.hpp.

38502 {
38503 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38504}

◆ downcast_call() [178/203]

template<class T >
bool td::td_api::downcast_call ( StoryOrigin obj,
const T &  func 
)

Definition at line 38545 of file td_api.hpp.

38545 {
38546 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38547}

◆ downcast_call() [179/203]

template<class T >
bool td::td_api::downcast_call ( StoryPrivacySettings obj,
const T &  func 
)

Definition at line 38588 of file td_api.hpp.

38588 {
38589 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38590}

◆ downcast_call() [180/203]

template<class T >
bool td::td_api::downcast_call ( SuggestedAction obj,
const T &  func 
)

Definition at line 38647 of file td_api.hpp.

38647 {
38648 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38649}

◆ downcast_call() [181/203]

template<class T >
bool td::td_api::downcast_call ( SuggestedPostPrice obj,
const T &  func 
)

Definition at line 38810 of file td_api.hpp.

38810 {
38811 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38812}

◆ downcast_call() [182/203]

template<class T >
bool td::td_api::downcast_call ( SuggestedPostRefundReason obj,
const T &  func 
)

Definition at line 38853 of file td_api.hpp.

38853 {
38854 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38855}

◆ downcast_call() [183/203]

template<class T >
bool td::td_api::downcast_call ( SuggestedPostState obj,
const T &  func 
)

Definition at line 38896 of file td_api.hpp.

38896 {
38897 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38898}

◆ downcast_call() [184/203]

template<class T >
bool td::td_api::downcast_call ( SupergroupMembersFilter obj,
const T &  func 
)

Definition at line 38947 of file td_api.hpp.

38947 {
38948 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
38949}

◆ downcast_call() [185/203]

template<class T >
bool td::td_api::downcast_call ( TargetChat obj,
const T &  func 
)

Definition at line 39097 of file td_api.hpp.

39097 {
39098 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39099}

◆ downcast_call() [186/203]

template<class T >
bool td::td_api::downcast_call ( TelegramPaymentPurpose obj,
const T &  func 
)

Definition at line 39148 of file td_api.hpp.

39148 {
39149 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39150}

◆ downcast_call() [187/203]

template<class T >
bool td::td_api::downcast_call ( TextEntityType obj,
const T &  func 
)

Definition at line 39231 of file td_api.hpp.

39231 {
39232 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39233}

◆ downcast_call() [188/203]

template<class T >
bool td::td_api::downcast_call ( TextParseMode obj,
const T &  func 
)

Definition at line 39442 of file td_api.hpp.

39442 {
39443 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39444}

◆ downcast_call() [189/203]

template<class T >
bool td::td_api::downcast_call ( ThumbnailFormat obj,
const T &  func 
)

Definition at line 39485 of file td_api.hpp.

39485 {
39486 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39487}

◆ downcast_call() [190/203]

template<class T >
bool td::td_api::downcast_call ( TMeUrlType obj,
const T &  func 
)

Definition at line 39038 of file td_api.hpp.

39038 {
39039 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39040}

◆ downcast_call() [191/203]

template<class T >
bool td::td_api::downcast_call ( TonTransactionType obj,
const T &  func 
)

Definition at line 39568 of file td_api.hpp.

39568 {
39569 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39570}

◆ downcast_call() [192/203]

template<class T >
bool td::td_api::downcast_call ( TopChatCategory obj,
const T &  func 
)

Definition at line 39667 of file td_api.hpp.

39667 {
39668 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39669}

◆ downcast_call() [193/203]

template<class T >
bool td::td_api::downcast_call ( TransactionDirection obj,
const T &  func 
)

Definition at line 39766 of file td_api.hpp.

39766 {
39767 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39768}

◆ downcast_call() [194/203]

template<class T >
bool td::td_api::downcast_call ( Update obj,
const T &  func 
)

Definition at line 39809 of file td_api.hpp.

39809 {
39810 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
39811}

◆ downcast_call() [195/203]

template<class T >
bool td::td_api::downcast_call ( UpgradedGiftAttributeId obj,
const T &  func 
)

Definition at line 41276 of file td_api.hpp.

41276 {
41277 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41278}

◆ downcast_call() [196/203]

template<class T >
bool td::td_api::downcast_call ( UpgradedGiftAttributeRarity obj,
const T &  func 
)

Definition at line 41327 of file td_api.hpp.

41327 {
41328 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41329}

◆ downcast_call() [197/203]

template<class T >
bool td::td_api::downcast_call ( UpgradedGiftOrigin obj,
const T &  func 
)

Definition at line 41394 of file td_api.hpp.

41394 {
41395 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41396}

◆ downcast_call() [198/203]

template<class T >
bool td::td_api::downcast_call ( UserPrivacySetting obj,
const T &  func 
)

Definition at line 41477 of file td_api.hpp.

41477 {
41478 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41479}

◆ downcast_call() [199/203]

template<class T >
bool td::td_api::downcast_call ( UserPrivacySettingRule obj,
const T &  func 
)

Definition at line 41616 of file td_api.hpp.

41616 {
41617 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41618}

◆ downcast_call() [200/203]

template<class T >
bool td::td_api::downcast_call ( UserStatus obj,
const T &  func 
)

Definition at line 41731 of file td_api.hpp.

41731 {
41732 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41733}

◆ downcast_call() [201/203]

template<class T >
bool td::td_api::downcast_call ( UserType obj,
const T &  func 
)

Definition at line 41806 of file td_api.hpp.

41806 {
41807 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41808}

◆ downcast_call() [202/203]

template<class T >
bool td::td_api::downcast_call ( VectorPathCommand obj,
const T &  func 
)

Definition at line 41865 of file td_api.hpp.

41865 {
41866 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41867}

◆ downcast_call() [203/203]

template<class T >
bool td::td_api::downcast_call ( WebAppOpenMode obj,
const T &  func 
)

Definition at line 41908 of file td_api.hpp.

41908 {
41909 return downcast_call_impl<T, false>(obj.get_id(), &obj, func);
41910}

◆ downcast_call_impl() [1/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ActiveStoryState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24289 of file td_api.hpp.

24289 { //-V2008
24290 switch (constructor) {
24291 case activeStoryStateLive::ID:
24292 if constexpr (AllowTag) {
24293 downcast_call_tag<activeStoryStateLive> type_tag;
24294 func(type_tag);
24295 } else {
24296 func(static_cast<activeStoryStateLive &>(*obj));
24297 }
24298 return true;
24299 case activeStoryStateUnread::ID:
24300 if constexpr (AllowTag) {
24301 downcast_call_tag<activeStoryStateUnread> type_tag;
24302 func(type_tag);
24303 } else {
24304 func(static_cast<activeStoryStateUnread &>(*obj));
24305 }
24306 return true;
24307 case activeStoryStateRead::ID:
24308 if constexpr (AllowTag) {
24309 downcast_call_tag<activeStoryStateRead> type_tag;
24310 func(type_tag);
24311 } else {
24312 func(static_cast<activeStoryStateRead &>(*obj));
24313 }
24314 return true;
24315 default:
24316 return false;
24317 }
24318}

◆ downcast_call_impl() [2/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AffiliateProgramSortOrder obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24340 of file td_api.hpp.

24340 { //-V2008
24341 switch (constructor) {
24342 case affiliateProgramSortOrderProfitability::ID:
24343 if constexpr (AllowTag) {
24344 downcast_call_tag<affiliateProgramSortOrderProfitability> type_tag;
24345 func(type_tag);
24346 } else {
24347 func(static_cast<affiliateProgramSortOrderProfitability &>(*obj));
24348 }
24349 return true;
24350 case affiliateProgramSortOrderCreationDate::ID:
24351 if constexpr (AllowTag) {
24352 downcast_call_tag<affiliateProgramSortOrderCreationDate> type_tag;
24353 func(type_tag);
24354 } else {
24355 func(static_cast<affiliateProgramSortOrderCreationDate &>(*obj));
24356 }
24357 return true;
24358 case affiliateProgramSortOrderRevenue::ID:
24359 if constexpr (AllowTag) {
24360 downcast_call_tag<affiliateProgramSortOrderRevenue> type_tag;
24361 func(type_tag);
24362 } else {
24363 func(static_cast<affiliateProgramSortOrderRevenue &>(*obj));
24364 }
24365 return true;
24366 default:
24367 return false;
24368 }
24369}

◆ downcast_call_impl() [3/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AffiliateType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24391 of file td_api.hpp.

24391 { //-V2008
24392 switch (constructor) {
24393 case affiliateTypeCurrentUser::ID:
24394 if constexpr (AllowTag) {
24395 downcast_call_tag<affiliateTypeCurrentUser> type_tag;
24396 func(type_tag);
24397 } else {
24398 func(static_cast<affiliateTypeCurrentUser &>(*obj));
24399 }
24400 return true;
24401 case affiliateTypeBot::ID:
24402 if constexpr (AllowTag) {
24403 downcast_call_tag<affiliateTypeBot> type_tag;
24404 func(type_tag);
24405 } else {
24406 func(static_cast<affiliateTypeBot &>(*obj));
24407 }
24408 return true;
24409 case affiliateTypeChannel::ID:
24410 if constexpr (AllowTag) {
24411 downcast_call_tag<affiliateTypeChannel> type_tag;
24412 func(type_tag);
24413 } else {
24414 func(static_cast<affiliateTypeChannel &>(*obj));
24415 }
24416 return true;
24417 default:
24418 return false;
24419 }
24420}

◆ downcast_call_impl() [4/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AuctionState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24442 of file td_api.hpp.

24442 { //-V2008
24443 switch (constructor) {
24444 case auctionStateActive::ID:
24445 if constexpr (AllowTag) {
24446 downcast_call_tag<auctionStateActive> type_tag;
24447 func(type_tag);
24448 } else {
24449 func(static_cast<auctionStateActive &>(*obj));
24450 }
24451 return true;
24452 case auctionStateFinished::ID:
24453 if constexpr (AllowTag) {
24454 downcast_call_tag<auctionStateFinished> type_tag;
24455 func(type_tag);
24456 } else {
24457 func(static_cast<auctionStateFinished &>(*obj));
24458 }
24459 return true;
24460 default:
24461 return false;
24462 }
24463}

◆ downcast_call_impl() [5/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AuthenticationCodeType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24485 of file td_api.hpp.

24485 { //-V2008
24486 switch (constructor) {
24487 case authenticationCodeTypeTelegramMessage::ID:
24488 if constexpr (AllowTag) {
24489 downcast_call_tag<authenticationCodeTypeTelegramMessage> type_tag;
24490 func(type_tag);
24491 } else {
24492 func(static_cast<authenticationCodeTypeTelegramMessage &>(*obj));
24493 }
24494 return true;
24495 case authenticationCodeTypeSms::ID:
24496 if constexpr (AllowTag) {
24497 downcast_call_tag<authenticationCodeTypeSms> type_tag;
24498 func(type_tag);
24499 } else {
24500 func(static_cast<authenticationCodeTypeSms &>(*obj));
24501 }
24502 return true;
24503 case authenticationCodeTypeSmsWord::ID:
24504 if constexpr (AllowTag) {
24505 downcast_call_tag<authenticationCodeTypeSmsWord> type_tag;
24506 func(type_tag);
24507 } else {
24508 func(static_cast<authenticationCodeTypeSmsWord &>(*obj));
24509 }
24510 return true;
24511 case authenticationCodeTypeSmsPhrase::ID:
24512 if constexpr (AllowTag) {
24513 downcast_call_tag<authenticationCodeTypeSmsPhrase> type_tag;
24514 func(type_tag);
24515 } else {
24516 func(static_cast<authenticationCodeTypeSmsPhrase &>(*obj));
24517 }
24518 return true;
24519 case authenticationCodeTypeCall::ID:
24520 if constexpr (AllowTag) {
24521 downcast_call_tag<authenticationCodeTypeCall> type_tag;
24522 func(type_tag);
24523 } else {
24524 func(static_cast<authenticationCodeTypeCall &>(*obj));
24525 }
24526 return true;
24527 case authenticationCodeTypeFlashCall::ID:
24528 if constexpr (AllowTag) {
24529 downcast_call_tag<authenticationCodeTypeFlashCall> type_tag;
24530 func(type_tag);
24531 } else {
24532 func(static_cast<authenticationCodeTypeFlashCall &>(*obj));
24533 }
24534 return true;
24535 case authenticationCodeTypeMissedCall::ID:
24536 if constexpr (AllowTag) {
24537 downcast_call_tag<authenticationCodeTypeMissedCall> type_tag;
24538 func(type_tag);
24539 } else {
24540 func(static_cast<authenticationCodeTypeMissedCall &>(*obj));
24541 }
24542 return true;
24543 case authenticationCodeTypeFragment::ID:
24544 if constexpr (AllowTag) {
24545 downcast_call_tag<authenticationCodeTypeFragment> type_tag;
24546 func(type_tag);
24547 } else {
24548 func(static_cast<authenticationCodeTypeFragment &>(*obj));
24549 }
24550 return true;
24551 case authenticationCodeTypeFirebaseAndroid::ID:
24552 if constexpr (AllowTag) {
24553 downcast_call_tag<authenticationCodeTypeFirebaseAndroid> type_tag;
24554 func(type_tag);
24555 } else {
24556 func(static_cast<authenticationCodeTypeFirebaseAndroid &>(*obj));
24557 }
24558 return true;
24559 case authenticationCodeTypeFirebaseIos::ID:
24560 if constexpr (AllowTag) {
24561 downcast_call_tag<authenticationCodeTypeFirebaseIos> type_tag;
24562 func(type_tag);
24563 } else {
24564 func(static_cast<authenticationCodeTypeFirebaseIos &>(*obj));
24565 }
24566 return true;
24567 default:
24568 return false;
24569 }
24570}

◆ downcast_call_impl() [6/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AuthorizationState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24592 of file td_api.hpp.

24592 { //-V2008
24593 switch (constructor) {
24594 case authorizationStateWaitTdlibParameters::ID:
24595 if constexpr (AllowTag) {
24596 downcast_call_tag<authorizationStateWaitTdlibParameters> type_tag;
24597 func(type_tag);
24598 } else {
24599 func(static_cast<authorizationStateWaitTdlibParameters &>(*obj));
24600 }
24601 return true;
24602 case authorizationStateWaitPhoneNumber::ID:
24603 if constexpr (AllowTag) {
24604 downcast_call_tag<authorizationStateWaitPhoneNumber> type_tag;
24605 func(type_tag);
24606 } else {
24607 func(static_cast<authorizationStateWaitPhoneNumber &>(*obj));
24608 }
24609 return true;
24610 case authorizationStateWaitPremiumPurchase::ID:
24611 if constexpr (AllowTag) {
24612 downcast_call_tag<authorizationStateWaitPremiumPurchase> type_tag;
24613 func(type_tag);
24614 } else {
24615 func(static_cast<authorizationStateWaitPremiumPurchase &>(*obj));
24616 }
24617 return true;
24618 case authorizationStateWaitEmailAddress::ID:
24619 if constexpr (AllowTag) {
24620 downcast_call_tag<authorizationStateWaitEmailAddress> type_tag;
24621 func(type_tag);
24622 } else {
24623 func(static_cast<authorizationStateWaitEmailAddress &>(*obj));
24624 }
24625 return true;
24626 case authorizationStateWaitEmailCode::ID:
24627 if constexpr (AllowTag) {
24628 downcast_call_tag<authorizationStateWaitEmailCode> type_tag;
24629 func(type_tag);
24630 } else {
24631 func(static_cast<authorizationStateWaitEmailCode &>(*obj));
24632 }
24633 return true;
24634 case authorizationStateWaitCode::ID:
24635 if constexpr (AllowTag) {
24636 downcast_call_tag<authorizationStateWaitCode> type_tag;
24637 func(type_tag);
24638 } else {
24639 func(static_cast<authorizationStateWaitCode &>(*obj));
24640 }
24641 return true;
24642 case authorizationStateWaitOtherDeviceConfirmation::ID:
24643 if constexpr (AllowTag) {
24644 downcast_call_tag<authorizationStateWaitOtherDeviceConfirmation> type_tag;
24645 func(type_tag);
24646 } else {
24647 func(static_cast<authorizationStateWaitOtherDeviceConfirmation &>(*obj));
24648 }
24649 return true;
24650 case authorizationStateWaitRegistration::ID:
24651 if constexpr (AllowTag) {
24652 downcast_call_tag<authorizationStateWaitRegistration> type_tag;
24653 func(type_tag);
24654 } else {
24655 func(static_cast<authorizationStateWaitRegistration &>(*obj));
24656 }
24657 return true;
24658 case authorizationStateWaitPassword::ID:
24659 if constexpr (AllowTag) {
24660 downcast_call_tag<authorizationStateWaitPassword> type_tag;
24661 func(type_tag);
24662 } else {
24663 func(static_cast<authorizationStateWaitPassword &>(*obj));
24664 }
24665 return true;
24666 case authorizationStateReady::ID:
24667 if constexpr (AllowTag) {
24668 downcast_call_tag<authorizationStateReady> type_tag;
24669 func(type_tag);
24670 } else {
24671 func(static_cast<authorizationStateReady &>(*obj));
24672 }
24673 return true;
24674 case authorizationStateLoggingOut::ID:
24675 if constexpr (AllowTag) {
24676 downcast_call_tag<authorizationStateLoggingOut> type_tag;
24677 func(type_tag);
24678 } else {
24679 func(static_cast<authorizationStateLoggingOut &>(*obj));
24680 }
24681 return true;
24682 case authorizationStateClosing::ID:
24683 if constexpr (AllowTag) {
24684 downcast_call_tag<authorizationStateClosing> type_tag;
24685 func(type_tag);
24686 } else {
24687 func(static_cast<authorizationStateClosing &>(*obj));
24688 }
24689 return true;
24690 case authorizationStateClosed::ID:
24691 if constexpr (AllowTag) {
24692 downcast_call_tag<authorizationStateClosed> type_tag;
24693 func(type_tag);
24694 } else {
24695 func(static_cast<authorizationStateClosed &>(*obj));
24696 }
24697 return true;
24698 default:
24699 return false;
24700 }
24701}

◆ downcast_call_impl() [7/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
AutosaveSettingsScope obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24723 of file td_api.hpp.

24723 { //-V2008
24724 switch (constructor) {
24725 case autosaveSettingsScopePrivateChats::ID:
24726 if constexpr (AllowTag) {
24727 downcast_call_tag<autosaveSettingsScopePrivateChats> type_tag;
24728 func(type_tag);
24729 } else {
24730 func(static_cast<autosaveSettingsScopePrivateChats &>(*obj));
24731 }
24732 return true;
24733 case autosaveSettingsScopeGroupChats::ID:
24734 if constexpr (AllowTag) {
24735 downcast_call_tag<autosaveSettingsScopeGroupChats> type_tag;
24736 func(type_tag);
24737 } else {
24738 func(static_cast<autosaveSettingsScopeGroupChats &>(*obj));
24739 }
24740 return true;
24741 case autosaveSettingsScopeChannelChats::ID:
24742 if constexpr (AllowTag) {
24743 downcast_call_tag<autosaveSettingsScopeChannelChats> type_tag;
24744 func(type_tag);
24745 } else {
24746 func(static_cast<autosaveSettingsScopeChannelChats &>(*obj));
24747 }
24748 return true;
24749 case autosaveSettingsScopeChat::ID:
24750 if constexpr (AllowTag) {
24751 downcast_call_tag<autosaveSettingsScopeChat> type_tag;
24752 func(type_tag);
24753 } else {
24754 func(static_cast<autosaveSettingsScopeChat &>(*obj));
24755 }
24756 return true;
24757 default:
24758 return false;
24759 }
24760}

◆ downcast_call_impl() [8/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BackgroundFill obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24782 of file td_api.hpp.

24782 { //-V2008
24783 switch (constructor) {
24784 case backgroundFillSolid::ID:
24785 if constexpr (AllowTag) {
24786 downcast_call_tag<backgroundFillSolid> type_tag;
24787 func(type_tag);
24788 } else {
24789 func(static_cast<backgroundFillSolid &>(*obj));
24790 }
24791 return true;
24792 case backgroundFillGradient::ID:
24793 if constexpr (AllowTag) {
24794 downcast_call_tag<backgroundFillGradient> type_tag;
24795 func(type_tag);
24796 } else {
24797 func(static_cast<backgroundFillGradient &>(*obj));
24798 }
24799 return true;
24800 case backgroundFillFreeformGradient::ID:
24801 if constexpr (AllowTag) {
24802 downcast_call_tag<backgroundFillFreeformGradient> type_tag;
24803 func(type_tag);
24804 } else {
24805 func(static_cast<backgroundFillFreeformGradient &>(*obj));
24806 }
24807 return true;
24808 default:
24809 return false;
24810 }
24811}

◆ downcast_call_impl() [9/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BackgroundType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24833 of file td_api.hpp.

24833 { //-V2008
24834 switch (constructor) {
24835 case backgroundTypeWallpaper::ID:
24836 if constexpr (AllowTag) {
24837 downcast_call_tag<backgroundTypeWallpaper> type_tag;
24838 func(type_tag);
24839 } else {
24840 func(static_cast<backgroundTypeWallpaper &>(*obj));
24841 }
24842 return true;
24843 case backgroundTypePattern::ID:
24844 if constexpr (AllowTag) {
24845 downcast_call_tag<backgroundTypePattern> type_tag;
24846 func(type_tag);
24847 } else {
24848 func(static_cast<backgroundTypePattern &>(*obj));
24849 }
24850 return true;
24851 case backgroundTypeFill::ID:
24852 if constexpr (AllowTag) {
24853 downcast_call_tag<backgroundTypeFill> type_tag;
24854 func(type_tag);
24855 } else {
24856 func(static_cast<backgroundTypeFill &>(*obj));
24857 }
24858 return true;
24859 case backgroundTypeChatTheme::ID:
24860 if constexpr (AllowTag) {
24861 downcast_call_tag<backgroundTypeChatTheme> type_tag;
24862 func(type_tag);
24863 } else {
24864 func(static_cast<backgroundTypeChatTheme &>(*obj));
24865 }
24866 return true;
24867 default:
24868 return false;
24869 }
24870}

◆ downcast_call_impl() [10/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BlockList obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24892 of file td_api.hpp.

24892 { //-V2008
24893 switch (constructor) {
24894 case blockListMain::ID:
24895 if constexpr (AllowTag) {
24896 downcast_call_tag<blockListMain> type_tag;
24897 func(type_tag);
24898 } else {
24899 func(static_cast<blockListMain &>(*obj));
24900 }
24901 return true;
24902 case blockListStories::ID:
24903 if constexpr (AllowTag) {
24904 downcast_call_tag<blockListStories> type_tag;
24905 func(type_tag);
24906 } else {
24907 func(static_cast<blockListStories &>(*obj));
24908 }
24909 return true;
24910 default:
24911 return false;
24912 }
24913}

◆ downcast_call_impl() [11/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BotCommandScope obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 24935 of file td_api.hpp.

24935 { //-V2008
24936 switch (constructor) {
24937 case botCommandScopeDefault::ID:
24938 if constexpr (AllowTag) {
24939 downcast_call_tag<botCommandScopeDefault> type_tag;
24940 func(type_tag);
24941 } else {
24942 func(static_cast<botCommandScopeDefault &>(*obj));
24943 }
24944 return true;
24945 case botCommandScopeAllPrivateChats::ID:
24946 if constexpr (AllowTag) {
24947 downcast_call_tag<botCommandScopeAllPrivateChats> type_tag;
24948 func(type_tag);
24949 } else {
24950 func(static_cast<botCommandScopeAllPrivateChats &>(*obj));
24951 }
24952 return true;
24953 case botCommandScopeAllGroupChats::ID:
24954 if constexpr (AllowTag) {
24955 downcast_call_tag<botCommandScopeAllGroupChats> type_tag;
24956 func(type_tag);
24957 } else {
24958 func(static_cast<botCommandScopeAllGroupChats &>(*obj));
24959 }
24960 return true;
24961 case botCommandScopeAllChatAdministrators::ID:
24962 if constexpr (AllowTag) {
24963 downcast_call_tag<botCommandScopeAllChatAdministrators> type_tag;
24964 func(type_tag);
24965 } else {
24966 func(static_cast<botCommandScopeAllChatAdministrators &>(*obj));
24967 }
24968 return true;
24969 case botCommandScopeChat::ID:
24970 if constexpr (AllowTag) {
24971 downcast_call_tag<botCommandScopeChat> type_tag;
24972 func(type_tag);
24973 } else {
24974 func(static_cast<botCommandScopeChat &>(*obj));
24975 }
24976 return true;
24977 case botCommandScopeChatAdministrators::ID:
24978 if constexpr (AllowTag) {
24979 downcast_call_tag<botCommandScopeChatAdministrators> type_tag;
24980 func(type_tag);
24981 } else {
24982 func(static_cast<botCommandScopeChatAdministrators &>(*obj));
24983 }
24984 return true;
24985 case botCommandScopeChatMember::ID:
24986 if constexpr (AllowTag) {
24987 downcast_call_tag<botCommandScopeChatMember> type_tag;
24988 func(type_tag);
24989 } else {
24990 func(static_cast<botCommandScopeChatMember &>(*obj));
24991 }
24992 return true;
24993 default:
24994 return false;
24995 }
24996}

◆ downcast_call_impl() [12/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BotWriteAccessAllowReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25018 of file td_api.hpp.

25018 { //-V2008
25019 switch (constructor) {
25020 case botWriteAccessAllowReasonConnectedWebsite::ID:
25021 if constexpr (AllowTag) {
25022 downcast_call_tag<botWriteAccessAllowReasonConnectedWebsite> type_tag;
25023 func(type_tag);
25024 } else {
25025 func(static_cast<botWriteAccessAllowReasonConnectedWebsite &>(*obj));
25026 }
25027 return true;
25028 case botWriteAccessAllowReasonAddedToAttachmentMenu::ID:
25029 if constexpr (AllowTag) {
25030 downcast_call_tag<botWriteAccessAllowReasonAddedToAttachmentMenu> type_tag;
25031 func(type_tag);
25032 } else {
25033 func(static_cast<botWriteAccessAllowReasonAddedToAttachmentMenu &>(*obj));
25034 }
25035 return true;
25036 case botWriteAccessAllowReasonLaunchedWebApp::ID:
25037 if constexpr (AllowTag) {
25038 downcast_call_tag<botWriteAccessAllowReasonLaunchedWebApp> type_tag;
25039 func(type_tag);
25040 } else {
25041 func(static_cast<botWriteAccessAllowReasonLaunchedWebApp &>(*obj));
25042 }
25043 return true;
25044 case botWriteAccessAllowReasonAcceptedRequest::ID:
25045 if constexpr (AllowTag) {
25046 downcast_call_tag<botWriteAccessAllowReasonAcceptedRequest> type_tag;
25047 func(type_tag);
25048 } else {
25049 func(static_cast<botWriteAccessAllowReasonAcceptedRequest &>(*obj));
25050 }
25051 return true;
25052 default:
25053 return false;
25054 }
25055}

◆ downcast_call_impl() [13/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BuiltInTheme obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25077 of file td_api.hpp.

25077 { //-V2008
25078 switch (constructor) {
25079 case builtInThemeClassic::ID:
25080 if constexpr (AllowTag) {
25081 downcast_call_tag<builtInThemeClassic> type_tag;
25082 func(type_tag);
25083 } else {
25084 func(static_cast<builtInThemeClassic &>(*obj));
25085 }
25086 return true;
25087 case builtInThemeDay::ID:
25088 if constexpr (AllowTag) {
25089 downcast_call_tag<builtInThemeDay> type_tag;
25090 func(type_tag);
25091 } else {
25092 func(static_cast<builtInThemeDay &>(*obj));
25093 }
25094 return true;
25095 case builtInThemeNight::ID:
25096 if constexpr (AllowTag) {
25097 downcast_call_tag<builtInThemeNight> type_tag;
25098 func(type_tag);
25099 } else {
25100 func(static_cast<builtInThemeNight &>(*obj));
25101 }
25102 return true;
25103 case builtInThemeTinted::ID:
25104 if constexpr (AllowTag) {
25105 downcast_call_tag<builtInThemeTinted> type_tag;
25106 func(type_tag);
25107 } else {
25108 func(static_cast<builtInThemeTinted &>(*obj));
25109 }
25110 return true;
25111 case builtInThemeArctic::ID:
25112 if constexpr (AllowTag) {
25113 downcast_call_tag<builtInThemeArctic> type_tag;
25114 func(type_tag);
25115 } else {
25116 func(static_cast<builtInThemeArctic &>(*obj));
25117 }
25118 return true;
25119 default:
25120 return false;
25121 }
25122}

◆ downcast_call_impl() [14/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BusinessAwayMessageSchedule obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25144 of file td_api.hpp.

25144 { //-V2008
25145 switch (constructor) {
25146 case businessAwayMessageScheduleAlways::ID:
25147 if constexpr (AllowTag) {
25148 downcast_call_tag<businessAwayMessageScheduleAlways> type_tag;
25149 func(type_tag);
25150 } else {
25151 func(static_cast<businessAwayMessageScheduleAlways &>(*obj));
25152 }
25153 return true;
25154 case businessAwayMessageScheduleOutsideOfOpeningHours::ID:
25155 if constexpr (AllowTag) {
25156 downcast_call_tag<businessAwayMessageScheduleOutsideOfOpeningHours> type_tag;
25157 func(type_tag);
25158 } else {
25159 func(static_cast<businessAwayMessageScheduleOutsideOfOpeningHours &>(*obj));
25160 }
25161 return true;
25162 case businessAwayMessageScheduleCustom::ID:
25163 if constexpr (AllowTag) {
25164 downcast_call_tag<businessAwayMessageScheduleCustom> type_tag;
25165 func(type_tag);
25166 } else {
25167 func(static_cast<businessAwayMessageScheduleCustom &>(*obj));
25168 }
25169 return true;
25170 default:
25171 return false;
25172 }
25173}

◆ downcast_call_impl() [15/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
BusinessFeature obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25195 of file td_api.hpp.

25195 { //-V2008
25196 switch (constructor) {
25197 case businessFeatureLocation::ID:
25198 if constexpr (AllowTag) {
25199 downcast_call_tag<businessFeatureLocation> type_tag;
25200 func(type_tag);
25201 } else {
25202 func(static_cast<businessFeatureLocation &>(*obj));
25203 }
25204 return true;
25205 case businessFeatureOpeningHours::ID:
25206 if constexpr (AllowTag) {
25207 downcast_call_tag<businessFeatureOpeningHours> type_tag;
25208 func(type_tag);
25209 } else {
25210 func(static_cast<businessFeatureOpeningHours &>(*obj));
25211 }
25212 return true;
25213 case businessFeatureQuickReplies::ID:
25214 if constexpr (AllowTag) {
25215 downcast_call_tag<businessFeatureQuickReplies> type_tag;
25216 func(type_tag);
25217 } else {
25218 func(static_cast<businessFeatureQuickReplies &>(*obj));
25219 }
25220 return true;
25221 case businessFeatureGreetingMessage::ID:
25222 if constexpr (AllowTag) {
25223 downcast_call_tag<businessFeatureGreetingMessage> type_tag;
25224 func(type_tag);
25225 } else {
25226 func(static_cast<businessFeatureGreetingMessage &>(*obj));
25227 }
25228 return true;
25229 case businessFeatureAwayMessage::ID:
25230 if constexpr (AllowTag) {
25231 downcast_call_tag<businessFeatureAwayMessage> type_tag;
25232 func(type_tag);
25233 } else {
25234 func(static_cast<businessFeatureAwayMessage &>(*obj));
25235 }
25236 return true;
25237 case businessFeatureAccountLinks::ID:
25238 if constexpr (AllowTag) {
25239 downcast_call_tag<businessFeatureAccountLinks> type_tag;
25240 func(type_tag);
25241 } else {
25242 func(static_cast<businessFeatureAccountLinks &>(*obj));
25243 }
25244 return true;
25245 case businessFeatureStartPage::ID:
25246 if constexpr (AllowTag) {
25247 downcast_call_tag<businessFeatureStartPage> type_tag;
25248 func(type_tag);
25249 } else {
25250 func(static_cast<businessFeatureStartPage &>(*obj));
25251 }
25252 return true;
25253 case businessFeatureBots::ID:
25254 if constexpr (AllowTag) {
25255 downcast_call_tag<businessFeatureBots> type_tag;
25256 func(type_tag);
25257 } else {
25258 func(static_cast<businessFeatureBots &>(*obj));
25259 }
25260 return true;
25261 case businessFeatureEmojiStatus::ID:
25262 if constexpr (AllowTag) {
25263 downcast_call_tag<businessFeatureEmojiStatus> type_tag;
25264 func(type_tag);
25265 } else {
25266 func(static_cast<businessFeatureEmojiStatus &>(*obj));
25267 }
25268 return true;
25269 case businessFeatureChatFolderTags::ID:
25270 if constexpr (AllowTag) {
25271 downcast_call_tag<businessFeatureChatFolderTags> type_tag;
25272 func(type_tag);
25273 } else {
25274 func(static_cast<businessFeatureChatFolderTags &>(*obj));
25275 }
25276 return true;
25277 case businessFeatureUpgradedStories::ID:
25278 if constexpr (AllowTag) {
25279 downcast_call_tag<businessFeatureUpgradedStories> type_tag;
25280 func(type_tag);
25281 } else {
25282 func(static_cast<businessFeatureUpgradedStories &>(*obj));
25283 }
25284 return true;
25285 default:
25286 return false;
25287 }
25288}

◆ downcast_call_impl() [16/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ButtonStyle obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25310 of file td_api.hpp.

25310 { //-V2008
25311 switch (constructor) {
25312 case buttonStyleDefault::ID:
25313 if constexpr (AllowTag) {
25314 downcast_call_tag<buttonStyleDefault> type_tag;
25315 func(type_tag);
25316 } else {
25317 func(static_cast<buttonStyleDefault &>(*obj));
25318 }
25319 return true;
25320 case buttonStylePrimary::ID:
25321 if constexpr (AllowTag) {
25322 downcast_call_tag<buttonStylePrimary> type_tag;
25323 func(type_tag);
25324 } else {
25325 func(static_cast<buttonStylePrimary &>(*obj));
25326 }
25327 return true;
25328 case buttonStyleDanger::ID:
25329 if constexpr (AllowTag) {
25330 downcast_call_tag<buttonStyleDanger> type_tag;
25331 func(type_tag);
25332 } else {
25333 func(static_cast<buttonStyleDanger &>(*obj));
25334 }
25335 return true;
25336 case buttonStyleSuccess::ID:
25337 if constexpr (AllowTag) {
25338 downcast_call_tag<buttonStyleSuccess> type_tag;
25339 func(type_tag);
25340 } else {
25341 func(static_cast<buttonStyleSuccess &>(*obj));
25342 }
25343 return true;
25344 default:
25345 return false;
25346 }
25347}

◆ downcast_call_impl() [17/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CallbackQueryPayload obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25661 of file td_api.hpp.

25661 { //-V2008
25662 switch (constructor) {
25663 case callbackQueryPayloadData::ID:
25664 if constexpr (AllowTag) {
25665 downcast_call_tag<callbackQueryPayloadData> type_tag;
25666 func(type_tag);
25667 } else {
25668 func(static_cast<callbackQueryPayloadData &>(*obj));
25669 }
25670 return true;
25671 case callbackQueryPayloadDataWithPassword::ID:
25672 if constexpr (AllowTag) {
25673 downcast_call_tag<callbackQueryPayloadDataWithPassword> type_tag;
25674 func(type_tag);
25675 } else {
25676 func(static_cast<callbackQueryPayloadDataWithPassword &>(*obj));
25677 }
25678 return true;
25679 case callbackQueryPayloadGame::ID:
25680 if constexpr (AllowTag) {
25681 downcast_call_tag<callbackQueryPayloadGame> type_tag;
25682 func(type_tag);
25683 } else {
25684 func(static_cast<callbackQueryPayloadGame &>(*obj));
25685 }
25686 return true;
25687 default:
25688 return false;
25689 }
25690}

◆ downcast_call_impl() [18/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CallDiscardReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25369 of file td_api.hpp.

25369 { //-V2008
25370 switch (constructor) {
25371 case callDiscardReasonEmpty::ID:
25372 if constexpr (AllowTag) {
25373 downcast_call_tag<callDiscardReasonEmpty> type_tag;
25374 func(type_tag);
25375 } else {
25376 func(static_cast<callDiscardReasonEmpty &>(*obj));
25377 }
25378 return true;
25379 case callDiscardReasonMissed::ID:
25380 if constexpr (AllowTag) {
25381 downcast_call_tag<callDiscardReasonMissed> type_tag;
25382 func(type_tag);
25383 } else {
25384 func(static_cast<callDiscardReasonMissed &>(*obj));
25385 }
25386 return true;
25387 case callDiscardReasonDeclined::ID:
25388 if constexpr (AllowTag) {
25389 downcast_call_tag<callDiscardReasonDeclined> type_tag;
25390 func(type_tag);
25391 } else {
25392 func(static_cast<callDiscardReasonDeclined &>(*obj));
25393 }
25394 return true;
25395 case callDiscardReasonDisconnected::ID:
25396 if constexpr (AllowTag) {
25397 downcast_call_tag<callDiscardReasonDisconnected> type_tag;
25398 func(type_tag);
25399 } else {
25400 func(static_cast<callDiscardReasonDisconnected &>(*obj));
25401 }
25402 return true;
25403 case callDiscardReasonHungUp::ID:
25404 if constexpr (AllowTag) {
25405 downcast_call_tag<callDiscardReasonHungUp> type_tag;
25406 func(type_tag);
25407 } else {
25408 func(static_cast<callDiscardReasonHungUp &>(*obj));
25409 }
25410 return true;
25411 case callDiscardReasonUpgradeToGroupCall::ID:
25412 if constexpr (AllowTag) {
25413 downcast_call_tag<callDiscardReasonUpgradeToGroupCall> type_tag;
25414 func(type_tag);
25415 } else {
25416 func(static_cast<callDiscardReasonUpgradeToGroupCall &>(*obj));
25417 }
25418 return true;
25419 default:
25420 return false;
25421 }
25422}

◆ downcast_call_impl() [19/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CallProblem obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25444 of file td_api.hpp.

25444 { //-V2008
25445 switch (constructor) {
25446 case callProblemEcho::ID:
25447 if constexpr (AllowTag) {
25448 downcast_call_tag<callProblemEcho> type_tag;
25449 func(type_tag);
25450 } else {
25451 func(static_cast<callProblemEcho &>(*obj));
25452 }
25453 return true;
25454 case callProblemNoise::ID:
25455 if constexpr (AllowTag) {
25456 downcast_call_tag<callProblemNoise> type_tag;
25457 func(type_tag);
25458 } else {
25459 func(static_cast<callProblemNoise &>(*obj));
25460 }
25461 return true;
25462 case callProblemInterruptions::ID:
25463 if constexpr (AllowTag) {
25464 downcast_call_tag<callProblemInterruptions> type_tag;
25465 func(type_tag);
25466 } else {
25467 func(static_cast<callProblemInterruptions &>(*obj));
25468 }
25469 return true;
25470 case callProblemDistortedSpeech::ID:
25471 if constexpr (AllowTag) {
25472 downcast_call_tag<callProblemDistortedSpeech> type_tag;
25473 func(type_tag);
25474 } else {
25475 func(static_cast<callProblemDistortedSpeech &>(*obj));
25476 }
25477 return true;
25478 case callProblemSilentLocal::ID:
25479 if constexpr (AllowTag) {
25480 downcast_call_tag<callProblemSilentLocal> type_tag;
25481 func(type_tag);
25482 } else {
25483 func(static_cast<callProblemSilentLocal &>(*obj));
25484 }
25485 return true;
25486 case callProblemSilentRemote::ID:
25487 if constexpr (AllowTag) {
25488 downcast_call_tag<callProblemSilentRemote> type_tag;
25489 func(type_tag);
25490 } else {
25491 func(static_cast<callProblemSilentRemote &>(*obj));
25492 }
25493 return true;
25494 case callProblemDropped::ID:
25495 if constexpr (AllowTag) {
25496 downcast_call_tag<callProblemDropped> type_tag;
25497 func(type_tag);
25498 } else {
25499 func(static_cast<callProblemDropped &>(*obj));
25500 }
25501 return true;
25502 case callProblemDistortedVideo::ID:
25503 if constexpr (AllowTag) {
25504 downcast_call_tag<callProblemDistortedVideo> type_tag;
25505 func(type_tag);
25506 } else {
25507 func(static_cast<callProblemDistortedVideo &>(*obj));
25508 }
25509 return true;
25510 case callProblemPixelatedVideo::ID:
25511 if constexpr (AllowTag) {
25512 downcast_call_tag<callProblemPixelatedVideo> type_tag;
25513 func(type_tag);
25514 } else {
25515 func(static_cast<callProblemPixelatedVideo &>(*obj));
25516 }
25517 return true;
25518 default:
25519 return false;
25520 }
25521}

◆ downcast_call_impl() [20/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CallServerType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25543 of file td_api.hpp.

25543 { //-V2008
25544 switch (constructor) {
25545 case callServerTypeTelegramReflector::ID:
25546 if constexpr (AllowTag) {
25547 downcast_call_tag<callServerTypeTelegramReflector> type_tag;
25548 func(type_tag);
25549 } else {
25550 func(static_cast<callServerTypeTelegramReflector &>(*obj));
25551 }
25552 return true;
25553 case callServerTypeWebrtc::ID:
25554 if constexpr (AllowTag) {
25555 downcast_call_tag<callServerTypeWebrtc> type_tag;
25556 func(type_tag);
25557 } else {
25558 func(static_cast<callServerTypeWebrtc &>(*obj));
25559 }
25560 return true;
25561 default:
25562 return false;
25563 }
25564}

◆ downcast_call_impl() [21/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CallState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25586 of file td_api.hpp.

25586 { //-V2008
25587 switch (constructor) {
25588 case callStatePending::ID:
25589 if constexpr (AllowTag) {
25590 downcast_call_tag<callStatePending> type_tag;
25591 func(type_tag);
25592 } else {
25593 func(static_cast<callStatePending &>(*obj));
25594 }
25595 return true;
25596 case callStateExchangingKeys::ID:
25597 if constexpr (AllowTag) {
25598 downcast_call_tag<callStateExchangingKeys> type_tag;
25599 func(type_tag);
25600 } else {
25601 func(static_cast<callStateExchangingKeys &>(*obj));
25602 }
25603 return true;
25604 case callStateReady::ID:
25605 if constexpr (AllowTag) {
25606 downcast_call_tag<callStateReady> type_tag;
25607 func(type_tag);
25608 } else {
25609 func(static_cast<callStateReady &>(*obj));
25610 }
25611 return true;
25612 case callStateHangingUp::ID:
25613 if constexpr (AllowTag) {
25614 downcast_call_tag<callStateHangingUp> type_tag;
25615 func(type_tag);
25616 } else {
25617 func(static_cast<callStateHangingUp &>(*obj));
25618 }
25619 return true;
25620 case callStateDiscarded::ID:
25621 if constexpr (AllowTag) {
25622 downcast_call_tag<callStateDiscarded> type_tag;
25623 func(type_tag);
25624 } else {
25625 func(static_cast<callStateDiscarded &>(*obj));
25626 }
25627 return true;
25628 case callStateError::ID:
25629 if constexpr (AllowTag) {
25630 downcast_call_tag<callStateError> type_tag;
25631 func(type_tag);
25632 } else {
25633 func(static_cast<callStateError &>(*obj));
25634 }
25635 return true;
25636 default:
25637 return false;
25638 }
25639}

◆ downcast_call_impl() [22/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CanPostStoryResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25712 of file td_api.hpp.

25712 { //-V2008
25713 switch (constructor) {
25714 case canPostStoryResultOk::ID:
25715 if constexpr (AllowTag) {
25716 downcast_call_tag<canPostStoryResultOk> type_tag;
25717 func(type_tag);
25718 } else {
25719 func(static_cast<canPostStoryResultOk &>(*obj));
25720 }
25721 return true;
25722 case canPostStoryResultPremiumNeeded::ID:
25723 if constexpr (AllowTag) {
25724 downcast_call_tag<canPostStoryResultPremiumNeeded> type_tag;
25725 func(type_tag);
25726 } else {
25727 func(static_cast<canPostStoryResultPremiumNeeded &>(*obj));
25728 }
25729 return true;
25730 case canPostStoryResultBoostNeeded::ID:
25731 if constexpr (AllowTag) {
25732 downcast_call_tag<canPostStoryResultBoostNeeded> type_tag;
25733 func(type_tag);
25734 } else {
25735 func(static_cast<canPostStoryResultBoostNeeded &>(*obj));
25736 }
25737 return true;
25738 case canPostStoryResultActiveStoryLimitExceeded::ID:
25739 if constexpr (AllowTag) {
25740 downcast_call_tag<canPostStoryResultActiveStoryLimitExceeded> type_tag;
25741 func(type_tag);
25742 } else {
25743 func(static_cast<canPostStoryResultActiveStoryLimitExceeded &>(*obj));
25744 }
25745 return true;
25746 case canPostStoryResultWeeklyLimitExceeded::ID:
25747 if constexpr (AllowTag) {
25748 downcast_call_tag<canPostStoryResultWeeklyLimitExceeded> type_tag;
25749 func(type_tag);
25750 } else {
25751 func(static_cast<canPostStoryResultWeeklyLimitExceeded &>(*obj));
25752 }
25753 return true;
25754 case canPostStoryResultMonthlyLimitExceeded::ID:
25755 if constexpr (AllowTag) {
25756 downcast_call_tag<canPostStoryResultMonthlyLimitExceeded> type_tag;
25757 func(type_tag);
25758 } else {
25759 func(static_cast<canPostStoryResultMonthlyLimitExceeded &>(*obj));
25760 }
25761 return true;
25762 case canPostStoryResultLiveStoryIsActive::ID:
25763 if constexpr (AllowTag) {
25764 downcast_call_tag<canPostStoryResultLiveStoryIsActive> type_tag;
25765 func(type_tag);
25766 } else {
25767 func(static_cast<canPostStoryResultLiveStoryIsActive &>(*obj));
25768 }
25769 return true;
25770 default:
25771 return false;
25772 }
25773}

◆ downcast_call_impl() [23/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CanSendGiftResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25795 of file td_api.hpp.

25795 { //-V2008
25796 switch (constructor) {
25797 case canSendGiftResultOk::ID:
25798 if constexpr (AllowTag) {
25799 downcast_call_tag<canSendGiftResultOk> type_tag;
25800 func(type_tag);
25801 } else {
25802 func(static_cast<canSendGiftResultOk &>(*obj));
25803 }
25804 return true;
25805 case canSendGiftResultFail::ID:
25806 if constexpr (AllowTag) {
25807 downcast_call_tag<canSendGiftResultFail> type_tag;
25808 func(type_tag);
25809 } else {
25810 func(static_cast<canSendGiftResultFail &>(*obj));
25811 }
25812 return true;
25813 default:
25814 return false;
25815 }
25816}

◆ downcast_call_impl() [24/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CanSendMessageToUserResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25838 of file td_api.hpp.

25838 { //-V2008
25839 switch (constructor) {
25840 case canSendMessageToUserResultOk::ID:
25841 if constexpr (AllowTag) {
25842 downcast_call_tag<canSendMessageToUserResultOk> type_tag;
25843 func(type_tag);
25844 } else {
25845 func(static_cast<canSendMessageToUserResultOk &>(*obj));
25846 }
25847 return true;
25848 case canSendMessageToUserResultUserHasPaidMessages::ID:
25849 if constexpr (AllowTag) {
25850 downcast_call_tag<canSendMessageToUserResultUserHasPaidMessages> type_tag;
25851 func(type_tag);
25852 } else {
25853 func(static_cast<canSendMessageToUserResultUserHasPaidMessages &>(*obj));
25854 }
25855 return true;
25856 case canSendMessageToUserResultUserIsDeleted::ID:
25857 if constexpr (AllowTag) {
25858 downcast_call_tag<canSendMessageToUserResultUserIsDeleted> type_tag;
25859 func(type_tag);
25860 } else {
25861 func(static_cast<canSendMessageToUserResultUserIsDeleted &>(*obj));
25862 }
25863 return true;
25864 case canSendMessageToUserResultUserRestrictsNewChats::ID:
25865 if constexpr (AllowTag) {
25866 downcast_call_tag<canSendMessageToUserResultUserRestrictsNewChats> type_tag;
25867 func(type_tag);
25868 } else {
25869 func(static_cast<canSendMessageToUserResultUserRestrictsNewChats &>(*obj));
25870 }
25871 return true;
25872 default:
25873 return false;
25874 }
25875}

◆ downcast_call_impl() [25/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CanTransferOwnershipResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25897 of file td_api.hpp.

25897 { //-V2008
25898 switch (constructor) {
25899 case canTransferOwnershipResultOk::ID:
25900 if constexpr (AllowTag) {
25901 downcast_call_tag<canTransferOwnershipResultOk> type_tag;
25902 func(type_tag);
25903 } else {
25904 func(static_cast<canTransferOwnershipResultOk &>(*obj));
25905 }
25906 return true;
25907 case canTransferOwnershipResultPasswordNeeded::ID:
25908 if constexpr (AllowTag) {
25909 downcast_call_tag<canTransferOwnershipResultPasswordNeeded> type_tag;
25910 func(type_tag);
25911 } else {
25912 func(static_cast<canTransferOwnershipResultPasswordNeeded &>(*obj));
25913 }
25914 return true;
25915 case canTransferOwnershipResultPasswordTooFresh::ID:
25916 if constexpr (AllowTag) {
25917 downcast_call_tag<canTransferOwnershipResultPasswordTooFresh> type_tag;
25918 func(type_tag);
25919 } else {
25920 func(static_cast<canTransferOwnershipResultPasswordTooFresh &>(*obj));
25921 }
25922 return true;
25923 case canTransferOwnershipResultSessionTooFresh::ID:
25924 if constexpr (AllowTag) {
25925 downcast_call_tag<canTransferOwnershipResultSessionTooFresh> type_tag;
25926 func(type_tag);
25927 } else {
25928 func(static_cast<canTransferOwnershipResultSessionTooFresh &>(*obj));
25929 }
25930 return true;
25931 default:
25932 return false;
25933 }
25934}

◆ downcast_call_impl() [26/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatAction obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 25956 of file td_api.hpp.

25956 { //-V2008
25957 switch (constructor) {
25958 case chatActionTyping::ID:
25959 if constexpr (AllowTag) {
25960 downcast_call_tag<chatActionTyping> type_tag;
25961 func(type_tag);
25962 } else {
25963 func(static_cast<chatActionTyping &>(*obj));
25964 }
25965 return true;
25966 case chatActionRecordingVideo::ID:
25967 if constexpr (AllowTag) {
25968 downcast_call_tag<chatActionRecordingVideo> type_tag;
25969 func(type_tag);
25970 } else {
25971 func(static_cast<chatActionRecordingVideo &>(*obj));
25972 }
25973 return true;
25974 case chatActionUploadingVideo::ID:
25975 if constexpr (AllowTag) {
25976 downcast_call_tag<chatActionUploadingVideo> type_tag;
25977 func(type_tag);
25978 } else {
25979 func(static_cast<chatActionUploadingVideo &>(*obj));
25980 }
25981 return true;
25982 case chatActionRecordingVoiceNote::ID:
25983 if constexpr (AllowTag) {
25984 downcast_call_tag<chatActionRecordingVoiceNote> type_tag;
25985 func(type_tag);
25986 } else {
25987 func(static_cast<chatActionRecordingVoiceNote &>(*obj));
25988 }
25989 return true;
25990 case chatActionUploadingVoiceNote::ID:
25991 if constexpr (AllowTag) {
25992 downcast_call_tag<chatActionUploadingVoiceNote> type_tag;
25993 func(type_tag);
25994 } else {
25995 func(static_cast<chatActionUploadingVoiceNote &>(*obj));
25996 }
25997 return true;
25998 case chatActionUploadingPhoto::ID:
25999 if constexpr (AllowTag) {
26000 downcast_call_tag<chatActionUploadingPhoto> type_tag;
26001 func(type_tag);
26002 } else {
26003 func(static_cast<chatActionUploadingPhoto &>(*obj));
26004 }
26005 return true;
26006 case chatActionUploadingDocument::ID:
26007 if constexpr (AllowTag) {
26008 downcast_call_tag<chatActionUploadingDocument> type_tag;
26009 func(type_tag);
26010 } else {
26011 func(static_cast<chatActionUploadingDocument &>(*obj));
26012 }
26013 return true;
26014 case chatActionChoosingSticker::ID:
26015 if constexpr (AllowTag) {
26016 downcast_call_tag<chatActionChoosingSticker> type_tag;
26017 func(type_tag);
26018 } else {
26019 func(static_cast<chatActionChoosingSticker &>(*obj));
26020 }
26021 return true;
26022 case chatActionChoosingLocation::ID:
26023 if constexpr (AllowTag) {
26024 downcast_call_tag<chatActionChoosingLocation> type_tag;
26025 func(type_tag);
26026 } else {
26027 func(static_cast<chatActionChoosingLocation &>(*obj));
26028 }
26029 return true;
26030 case chatActionChoosingContact::ID:
26031 if constexpr (AllowTag) {
26032 downcast_call_tag<chatActionChoosingContact> type_tag;
26033 func(type_tag);
26034 } else {
26035 func(static_cast<chatActionChoosingContact &>(*obj));
26036 }
26037 return true;
26038 case chatActionStartPlayingGame::ID:
26039 if constexpr (AllowTag) {
26040 downcast_call_tag<chatActionStartPlayingGame> type_tag;
26041 func(type_tag);
26042 } else {
26043 func(static_cast<chatActionStartPlayingGame &>(*obj));
26044 }
26045 return true;
26046 case chatActionRecordingVideoNote::ID:
26047 if constexpr (AllowTag) {
26048 downcast_call_tag<chatActionRecordingVideoNote> type_tag;
26049 func(type_tag);
26050 } else {
26051 func(static_cast<chatActionRecordingVideoNote &>(*obj));
26052 }
26053 return true;
26054 case chatActionUploadingVideoNote::ID:
26055 if constexpr (AllowTag) {
26056 downcast_call_tag<chatActionUploadingVideoNote> type_tag;
26057 func(type_tag);
26058 } else {
26059 func(static_cast<chatActionUploadingVideoNote &>(*obj));
26060 }
26061 return true;
26062 case chatActionWatchingAnimations::ID:
26063 if constexpr (AllowTag) {
26064 downcast_call_tag<chatActionWatchingAnimations> type_tag;
26065 func(type_tag);
26066 } else {
26067 func(static_cast<chatActionWatchingAnimations &>(*obj));
26068 }
26069 return true;
26070 case chatActionCancel::ID:
26071 if constexpr (AllowTag) {
26072 downcast_call_tag<chatActionCancel> type_tag;
26073 func(type_tag);
26074 } else {
26075 func(static_cast<chatActionCancel &>(*obj));
26076 }
26077 return true;
26078 default:
26079 return false;
26080 }
26081}

◆ downcast_call_impl() [27/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatActionBar obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26103 of file td_api.hpp.

26103 { //-V2008
26104 switch (constructor) {
26105 case chatActionBarReportSpam::ID:
26106 if constexpr (AllowTag) {
26107 downcast_call_tag<chatActionBarReportSpam> type_tag;
26108 func(type_tag);
26109 } else {
26110 func(static_cast<chatActionBarReportSpam &>(*obj));
26111 }
26112 return true;
26113 case chatActionBarInviteMembers::ID:
26114 if constexpr (AllowTag) {
26115 downcast_call_tag<chatActionBarInviteMembers> type_tag;
26116 func(type_tag);
26117 } else {
26118 func(static_cast<chatActionBarInviteMembers &>(*obj));
26119 }
26120 return true;
26121 case chatActionBarReportAddBlock::ID:
26122 if constexpr (AllowTag) {
26123 downcast_call_tag<chatActionBarReportAddBlock> type_tag;
26124 func(type_tag);
26125 } else {
26126 func(static_cast<chatActionBarReportAddBlock &>(*obj));
26127 }
26128 return true;
26129 case chatActionBarAddContact::ID:
26130 if constexpr (AllowTag) {
26131 downcast_call_tag<chatActionBarAddContact> type_tag;
26132 func(type_tag);
26133 } else {
26134 func(static_cast<chatActionBarAddContact &>(*obj));
26135 }
26136 return true;
26137 case chatActionBarSharePhoneNumber::ID:
26138 if constexpr (AllowTag) {
26139 downcast_call_tag<chatActionBarSharePhoneNumber> type_tag;
26140 func(type_tag);
26141 } else {
26142 func(static_cast<chatActionBarSharePhoneNumber &>(*obj));
26143 }
26144 return true;
26145 case chatActionBarJoinRequest::ID:
26146 if constexpr (AllowTag) {
26147 downcast_call_tag<chatActionBarJoinRequest> type_tag;
26148 func(type_tag);
26149 } else {
26150 func(static_cast<chatActionBarJoinRequest &>(*obj));
26151 }
26152 return true;
26153 default:
26154 return false;
26155 }
26156}

◆ downcast_call_impl() [28/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatAvailableReactions obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26178 of file td_api.hpp.

26178 { //-V2008
26179 switch (constructor) {
26180 case chatAvailableReactionsAll::ID:
26181 if constexpr (AllowTag) {
26182 downcast_call_tag<chatAvailableReactionsAll> type_tag;
26183 func(type_tag);
26184 } else {
26185 func(static_cast<chatAvailableReactionsAll &>(*obj));
26186 }
26187 return true;
26188 case chatAvailableReactionsSome::ID:
26189 if constexpr (AllowTag) {
26190 downcast_call_tag<chatAvailableReactionsSome> type_tag;
26191 func(type_tag);
26192 } else {
26193 func(static_cast<chatAvailableReactionsSome &>(*obj));
26194 }
26195 return true;
26196 default:
26197 return false;
26198 }
26199}

◆ downcast_call_impl() [29/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatBoostSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26221 of file td_api.hpp.

26221 { //-V2008
26222 switch (constructor) {
26223 case chatBoostSourceGiftCode::ID:
26224 if constexpr (AllowTag) {
26225 downcast_call_tag<chatBoostSourceGiftCode> type_tag;
26226 func(type_tag);
26227 } else {
26228 func(static_cast<chatBoostSourceGiftCode &>(*obj));
26229 }
26230 return true;
26231 case chatBoostSourceGiveaway::ID:
26232 if constexpr (AllowTag) {
26233 downcast_call_tag<chatBoostSourceGiveaway> type_tag;
26234 func(type_tag);
26235 } else {
26236 func(static_cast<chatBoostSourceGiveaway &>(*obj));
26237 }
26238 return true;
26239 case chatBoostSourcePremium::ID:
26240 if constexpr (AllowTag) {
26241 downcast_call_tag<chatBoostSourcePremium> type_tag;
26242 func(type_tag);
26243 } else {
26244 func(static_cast<chatBoostSourcePremium &>(*obj));
26245 }
26246 return true;
26247 default:
26248 return false;
26249 }
26250}

◆ downcast_call_impl() [30/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatEventAction obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26272 of file td_api.hpp.

26272 { //-V2008
26273 switch (constructor) {
26274 case chatEventMessageEdited::ID:
26275 if constexpr (AllowTag) {
26276 downcast_call_tag<chatEventMessageEdited> type_tag;
26277 func(type_tag);
26278 } else {
26279 func(static_cast<chatEventMessageEdited &>(*obj));
26280 }
26281 return true;
26282 case chatEventMessageDeleted::ID:
26283 if constexpr (AllowTag) {
26284 downcast_call_tag<chatEventMessageDeleted> type_tag;
26285 func(type_tag);
26286 } else {
26287 func(static_cast<chatEventMessageDeleted &>(*obj));
26288 }
26289 return true;
26290 case chatEventMessagePinned::ID:
26291 if constexpr (AllowTag) {
26292 downcast_call_tag<chatEventMessagePinned> type_tag;
26293 func(type_tag);
26294 } else {
26295 func(static_cast<chatEventMessagePinned &>(*obj));
26296 }
26297 return true;
26298 case chatEventMessageUnpinned::ID:
26299 if constexpr (AllowTag) {
26300 downcast_call_tag<chatEventMessageUnpinned> type_tag;
26301 func(type_tag);
26302 } else {
26303 func(static_cast<chatEventMessageUnpinned &>(*obj));
26304 }
26305 return true;
26306 case chatEventPollStopped::ID:
26307 if constexpr (AllowTag) {
26308 downcast_call_tag<chatEventPollStopped> type_tag;
26309 func(type_tag);
26310 } else {
26311 func(static_cast<chatEventPollStopped &>(*obj));
26312 }
26313 return true;
26314 case chatEventMemberJoined::ID:
26315 if constexpr (AllowTag) {
26316 downcast_call_tag<chatEventMemberJoined> type_tag;
26317 func(type_tag);
26318 } else {
26319 func(static_cast<chatEventMemberJoined &>(*obj));
26320 }
26321 return true;
26322 case chatEventMemberJoinedByInviteLink::ID:
26323 if constexpr (AllowTag) {
26324 downcast_call_tag<chatEventMemberJoinedByInviteLink> type_tag;
26325 func(type_tag);
26326 } else {
26327 func(static_cast<chatEventMemberJoinedByInviteLink &>(*obj));
26328 }
26329 return true;
26330 case chatEventMemberJoinedByRequest::ID:
26331 if constexpr (AllowTag) {
26332 downcast_call_tag<chatEventMemberJoinedByRequest> type_tag;
26333 func(type_tag);
26334 } else {
26335 func(static_cast<chatEventMemberJoinedByRequest &>(*obj));
26336 }
26337 return true;
26338 case chatEventMemberInvited::ID:
26339 if constexpr (AllowTag) {
26340 downcast_call_tag<chatEventMemberInvited> type_tag;
26341 func(type_tag);
26342 } else {
26343 func(static_cast<chatEventMemberInvited &>(*obj));
26344 }
26345 return true;
26346 case chatEventMemberLeft::ID:
26347 if constexpr (AllowTag) {
26348 downcast_call_tag<chatEventMemberLeft> type_tag;
26349 func(type_tag);
26350 } else {
26351 func(static_cast<chatEventMemberLeft &>(*obj));
26352 }
26353 return true;
26354 case chatEventMemberPromoted::ID:
26355 if constexpr (AllowTag) {
26356 downcast_call_tag<chatEventMemberPromoted> type_tag;
26357 func(type_tag);
26358 } else {
26359 func(static_cast<chatEventMemberPromoted &>(*obj));
26360 }
26361 return true;
26362 case chatEventMemberRestricted::ID:
26363 if constexpr (AllowTag) {
26364 downcast_call_tag<chatEventMemberRestricted> type_tag;
26365 func(type_tag);
26366 } else {
26367 func(static_cast<chatEventMemberRestricted &>(*obj));
26368 }
26369 return true;
26370 case chatEventMemberTagChanged::ID:
26371 if constexpr (AllowTag) {
26372 downcast_call_tag<chatEventMemberTagChanged> type_tag;
26373 func(type_tag);
26374 } else {
26375 func(static_cast<chatEventMemberTagChanged &>(*obj));
26376 }
26377 return true;
26378 case chatEventMemberSubscriptionExtended::ID:
26379 if constexpr (AllowTag) {
26380 downcast_call_tag<chatEventMemberSubscriptionExtended> type_tag;
26381 func(type_tag);
26382 } else {
26383 func(static_cast<chatEventMemberSubscriptionExtended &>(*obj));
26384 }
26385 return true;
26386 case chatEventAvailableReactionsChanged::ID:
26387 if constexpr (AllowTag) {
26388 downcast_call_tag<chatEventAvailableReactionsChanged> type_tag;
26389 func(type_tag);
26390 } else {
26391 func(static_cast<chatEventAvailableReactionsChanged &>(*obj));
26392 }
26393 return true;
26394 case chatEventBackgroundChanged::ID:
26395 if constexpr (AllowTag) {
26396 downcast_call_tag<chatEventBackgroundChanged> type_tag;
26397 func(type_tag);
26398 } else {
26399 func(static_cast<chatEventBackgroundChanged &>(*obj));
26400 }
26401 return true;
26402 case chatEventDescriptionChanged::ID:
26403 if constexpr (AllowTag) {
26404 downcast_call_tag<chatEventDescriptionChanged> type_tag;
26405 func(type_tag);
26406 } else {
26407 func(static_cast<chatEventDescriptionChanged &>(*obj));
26408 }
26409 return true;
26410 case chatEventEmojiStatusChanged::ID:
26411 if constexpr (AllowTag) {
26412 downcast_call_tag<chatEventEmojiStatusChanged> type_tag;
26413 func(type_tag);
26414 } else {
26415 func(static_cast<chatEventEmojiStatusChanged &>(*obj));
26416 }
26417 return true;
26418 case chatEventLinkedChatChanged::ID:
26419 if constexpr (AllowTag) {
26420 downcast_call_tag<chatEventLinkedChatChanged> type_tag;
26421 func(type_tag);
26422 } else {
26423 func(static_cast<chatEventLinkedChatChanged &>(*obj));
26424 }
26425 return true;
26426 case chatEventLocationChanged::ID:
26427 if constexpr (AllowTag) {
26428 downcast_call_tag<chatEventLocationChanged> type_tag;
26429 func(type_tag);
26430 } else {
26431 func(static_cast<chatEventLocationChanged &>(*obj));
26432 }
26433 return true;
26434 case chatEventMessageAutoDeleteTimeChanged::ID:
26435 if constexpr (AllowTag) {
26436 downcast_call_tag<chatEventMessageAutoDeleteTimeChanged> type_tag;
26437 func(type_tag);
26438 } else {
26439 func(static_cast<chatEventMessageAutoDeleteTimeChanged &>(*obj));
26440 }
26441 return true;
26442 case chatEventPermissionsChanged::ID:
26443 if constexpr (AllowTag) {
26444 downcast_call_tag<chatEventPermissionsChanged> type_tag;
26445 func(type_tag);
26446 } else {
26447 func(static_cast<chatEventPermissionsChanged &>(*obj));
26448 }
26449 return true;
26450 case chatEventPhotoChanged::ID:
26451 if constexpr (AllowTag) {
26452 downcast_call_tag<chatEventPhotoChanged> type_tag;
26453 func(type_tag);
26454 } else {
26455 func(static_cast<chatEventPhotoChanged &>(*obj));
26456 }
26457 return true;
26458 case chatEventSlowModeDelayChanged::ID:
26459 if constexpr (AllowTag) {
26460 downcast_call_tag<chatEventSlowModeDelayChanged> type_tag;
26461 func(type_tag);
26462 } else {
26463 func(static_cast<chatEventSlowModeDelayChanged &>(*obj));
26464 }
26465 return true;
26466 case chatEventStickerSetChanged::ID:
26467 if constexpr (AllowTag) {
26468 downcast_call_tag<chatEventStickerSetChanged> type_tag;
26469 func(type_tag);
26470 } else {
26471 func(static_cast<chatEventStickerSetChanged &>(*obj));
26472 }
26473 return true;
26474 case chatEventCustomEmojiStickerSetChanged::ID:
26475 if constexpr (AllowTag) {
26476 downcast_call_tag<chatEventCustomEmojiStickerSetChanged> type_tag;
26477 func(type_tag);
26478 } else {
26479 func(static_cast<chatEventCustomEmojiStickerSetChanged &>(*obj));
26480 }
26481 return true;
26482 case chatEventTitleChanged::ID:
26483 if constexpr (AllowTag) {
26484 downcast_call_tag<chatEventTitleChanged> type_tag;
26485 func(type_tag);
26486 } else {
26487 func(static_cast<chatEventTitleChanged &>(*obj));
26488 }
26489 return true;
26490 case chatEventUsernameChanged::ID:
26491 if constexpr (AllowTag) {
26492 downcast_call_tag<chatEventUsernameChanged> type_tag;
26493 func(type_tag);
26494 } else {
26495 func(static_cast<chatEventUsernameChanged &>(*obj));
26496 }
26497 return true;
26498 case chatEventActiveUsernamesChanged::ID:
26499 if constexpr (AllowTag) {
26500 downcast_call_tag<chatEventActiveUsernamesChanged> type_tag;
26501 func(type_tag);
26502 } else {
26503 func(static_cast<chatEventActiveUsernamesChanged &>(*obj));
26504 }
26505 return true;
26506 case chatEventAccentColorChanged::ID:
26507 if constexpr (AllowTag) {
26508 downcast_call_tag<chatEventAccentColorChanged> type_tag;
26509 func(type_tag);
26510 } else {
26511 func(static_cast<chatEventAccentColorChanged &>(*obj));
26512 }
26513 return true;
26514 case chatEventProfileAccentColorChanged::ID:
26515 if constexpr (AllowTag) {
26516 downcast_call_tag<chatEventProfileAccentColorChanged> type_tag;
26517 func(type_tag);
26518 } else {
26519 func(static_cast<chatEventProfileAccentColorChanged &>(*obj));
26520 }
26521 return true;
26522 case chatEventHasProtectedContentToggled::ID:
26523 if constexpr (AllowTag) {
26524 downcast_call_tag<chatEventHasProtectedContentToggled> type_tag;
26525 func(type_tag);
26526 } else {
26527 func(static_cast<chatEventHasProtectedContentToggled &>(*obj));
26528 }
26529 return true;
26530 case chatEventInvitesToggled::ID:
26531 if constexpr (AllowTag) {
26532 downcast_call_tag<chatEventInvitesToggled> type_tag;
26533 func(type_tag);
26534 } else {
26535 func(static_cast<chatEventInvitesToggled &>(*obj));
26536 }
26537 return true;
26538 case chatEventIsAllHistoryAvailableToggled::ID:
26539 if constexpr (AllowTag) {
26540 downcast_call_tag<chatEventIsAllHistoryAvailableToggled> type_tag;
26541 func(type_tag);
26542 } else {
26543 func(static_cast<chatEventIsAllHistoryAvailableToggled &>(*obj));
26544 }
26545 return true;
26546 case chatEventHasAggressiveAntiSpamEnabledToggled::ID:
26547 if constexpr (AllowTag) {
26548 downcast_call_tag<chatEventHasAggressiveAntiSpamEnabledToggled> type_tag;
26549 func(type_tag);
26550 } else {
26551 func(static_cast<chatEventHasAggressiveAntiSpamEnabledToggled &>(*obj));
26552 }
26553 return true;
26554 case chatEventSignMessagesToggled::ID:
26555 if constexpr (AllowTag) {
26556 downcast_call_tag<chatEventSignMessagesToggled> type_tag;
26557 func(type_tag);
26558 } else {
26559 func(static_cast<chatEventSignMessagesToggled &>(*obj));
26560 }
26561 return true;
26562 case chatEventShowMessageSenderToggled::ID:
26563 if constexpr (AllowTag) {
26564 downcast_call_tag<chatEventShowMessageSenderToggled> type_tag;
26565 func(type_tag);
26566 } else {
26567 func(static_cast<chatEventShowMessageSenderToggled &>(*obj));
26568 }
26569 return true;
26570 case chatEventAutomaticTranslationToggled::ID:
26571 if constexpr (AllowTag) {
26572 downcast_call_tag<chatEventAutomaticTranslationToggled> type_tag;
26573 func(type_tag);
26574 } else {
26575 func(static_cast<chatEventAutomaticTranslationToggled &>(*obj));
26576 }
26577 return true;
26578 case chatEventInviteLinkEdited::ID:
26579 if constexpr (AllowTag) {
26580 downcast_call_tag<chatEventInviteLinkEdited> type_tag;
26581 func(type_tag);
26582 } else {
26583 func(static_cast<chatEventInviteLinkEdited &>(*obj));
26584 }
26585 return true;
26586 case chatEventInviteLinkRevoked::ID:
26587 if constexpr (AllowTag) {
26588 downcast_call_tag<chatEventInviteLinkRevoked> type_tag;
26589 func(type_tag);
26590 } else {
26591 func(static_cast<chatEventInviteLinkRevoked &>(*obj));
26592 }
26593 return true;
26594 case chatEventInviteLinkDeleted::ID:
26595 if constexpr (AllowTag) {
26596 downcast_call_tag<chatEventInviteLinkDeleted> type_tag;
26597 func(type_tag);
26598 } else {
26599 func(static_cast<chatEventInviteLinkDeleted &>(*obj));
26600 }
26601 return true;
26602 case chatEventVideoChatCreated::ID:
26603 if constexpr (AllowTag) {
26604 downcast_call_tag<chatEventVideoChatCreated> type_tag;
26605 func(type_tag);
26606 } else {
26607 func(static_cast<chatEventVideoChatCreated &>(*obj));
26608 }
26609 return true;
26610 case chatEventVideoChatEnded::ID:
26611 if constexpr (AllowTag) {
26612 downcast_call_tag<chatEventVideoChatEnded> type_tag;
26613 func(type_tag);
26614 } else {
26615 func(static_cast<chatEventVideoChatEnded &>(*obj));
26616 }
26617 return true;
26618 case chatEventVideoChatMuteNewParticipantsToggled::ID:
26619 if constexpr (AllowTag) {
26620 downcast_call_tag<chatEventVideoChatMuteNewParticipantsToggled> type_tag;
26621 func(type_tag);
26622 } else {
26623 func(static_cast<chatEventVideoChatMuteNewParticipantsToggled &>(*obj));
26624 }
26625 return true;
26626 case chatEventVideoChatParticipantIsMutedToggled::ID:
26627 if constexpr (AllowTag) {
26628 downcast_call_tag<chatEventVideoChatParticipantIsMutedToggled> type_tag;
26629 func(type_tag);
26630 } else {
26631 func(static_cast<chatEventVideoChatParticipantIsMutedToggled &>(*obj));
26632 }
26633 return true;
26634 case chatEventVideoChatParticipantVolumeLevelChanged::ID:
26635 if constexpr (AllowTag) {
26636 downcast_call_tag<chatEventVideoChatParticipantVolumeLevelChanged> type_tag;
26637 func(type_tag);
26638 } else {
26639 func(static_cast<chatEventVideoChatParticipantVolumeLevelChanged &>(*obj));
26640 }
26641 return true;
26642 case chatEventIsForumToggled::ID:
26643 if constexpr (AllowTag) {
26644 downcast_call_tag<chatEventIsForumToggled> type_tag;
26645 func(type_tag);
26646 } else {
26647 func(static_cast<chatEventIsForumToggled &>(*obj));
26648 }
26649 return true;
26650 case chatEventForumTopicCreated::ID:
26651 if constexpr (AllowTag) {
26652 downcast_call_tag<chatEventForumTopicCreated> type_tag;
26653 func(type_tag);
26654 } else {
26655 func(static_cast<chatEventForumTopicCreated &>(*obj));
26656 }
26657 return true;
26658 case chatEventForumTopicEdited::ID:
26659 if constexpr (AllowTag) {
26660 downcast_call_tag<chatEventForumTopicEdited> type_tag;
26661 func(type_tag);
26662 } else {
26663 func(static_cast<chatEventForumTopicEdited &>(*obj));
26664 }
26665 return true;
26666 case chatEventForumTopicToggleIsClosed::ID:
26667 if constexpr (AllowTag) {
26668 downcast_call_tag<chatEventForumTopicToggleIsClosed> type_tag;
26669 func(type_tag);
26670 } else {
26671 func(static_cast<chatEventForumTopicToggleIsClosed &>(*obj));
26672 }
26673 return true;
26674 case chatEventForumTopicToggleIsHidden::ID:
26675 if constexpr (AllowTag) {
26676 downcast_call_tag<chatEventForumTopicToggleIsHidden> type_tag;
26677 func(type_tag);
26678 } else {
26679 func(static_cast<chatEventForumTopicToggleIsHidden &>(*obj));
26680 }
26681 return true;
26682 case chatEventForumTopicDeleted::ID:
26683 if constexpr (AllowTag) {
26684 downcast_call_tag<chatEventForumTopicDeleted> type_tag;
26685 func(type_tag);
26686 } else {
26687 func(static_cast<chatEventForumTopicDeleted &>(*obj));
26688 }
26689 return true;
26690 case chatEventForumTopicPinned::ID:
26691 if constexpr (AllowTag) {
26692 downcast_call_tag<chatEventForumTopicPinned> type_tag;
26693 func(type_tag);
26694 } else {
26695 func(static_cast<chatEventForumTopicPinned &>(*obj));
26696 }
26697 return true;
26698 default:
26699 return false;
26700 }
26701}

◆ downcast_call_impl() [31/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatList obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26723 of file td_api.hpp.

26723 { //-V2008
26724 switch (constructor) {
26725 case chatListMain::ID:
26726 if constexpr (AllowTag) {
26727 downcast_call_tag<chatListMain> type_tag;
26728 func(type_tag);
26729 } else {
26730 func(static_cast<chatListMain &>(*obj));
26731 }
26732 return true;
26733 case chatListArchive::ID:
26734 if constexpr (AllowTag) {
26735 downcast_call_tag<chatListArchive> type_tag;
26736 func(type_tag);
26737 } else {
26738 func(static_cast<chatListArchive &>(*obj));
26739 }
26740 return true;
26741 case chatListFolder::ID:
26742 if constexpr (AllowTag) {
26743 downcast_call_tag<chatListFolder> type_tag;
26744 func(type_tag);
26745 } else {
26746 func(static_cast<chatListFolder &>(*obj));
26747 }
26748 return true;
26749 default:
26750 return false;
26751 }
26752}

◆ downcast_call_impl() [32/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatMembersFilter obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26849 of file td_api.hpp.

26849 { //-V2008
26850 switch (constructor) {
26851 case chatMembersFilterContacts::ID:
26852 if constexpr (AllowTag) {
26853 downcast_call_tag<chatMembersFilterContacts> type_tag;
26854 func(type_tag);
26855 } else {
26856 func(static_cast<chatMembersFilterContacts &>(*obj));
26857 }
26858 return true;
26859 case chatMembersFilterAdministrators::ID:
26860 if constexpr (AllowTag) {
26861 downcast_call_tag<chatMembersFilterAdministrators> type_tag;
26862 func(type_tag);
26863 } else {
26864 func(static_cast<chatMembersFilterAdministrators &>(*obj));
26865 }
26866 return true;
26867 case chatMembersFilterMembers::ID:
26868 if constexpr (AllowTag) {
26869 downcast_call_tag<chatMembersFilterMembers> type_tag;
26870 func(type_tag);
26871 } else {
26872 func(static_cast<chatMembersFilterMembers &>(*obj));
26873 }
26874 return true;
26875 case chatMembersFilterMention::ID:
26876 if constexpr (AllowTag) {
26877 downcast_call_tag<chatMembersFilterMention> type_tag;
26878 func(type_tag);
26879 } else {
26880 func(static_cast<chatMembersFilterMention &>(*obj));
26881 }
26882 return true;
26883 case chatMembersFilterRestricted::ID:
26884 if constexpr (AllowTag) {
26885 downcast_call_tag<chatMembersFilterRestricted> type_tag;
26886 func(type_tag);
26887 } else {
26888 func(static_cast<chatMembersFilterRestricted &>(*obj));
26889 }
26890 return true;
26891 case chatMembersFilterBanned::ID:
26892 if constexpr (AllowTag) {
26893 downcast_call_tag<chatMembersFilterBanned> type_tag;
26894 func(type_tag);
26895 } else {
26896 func(static_cast<chatMembersFilterBanned &>(*obj));
26897 }
26898 return true;
26899 case chatMembersFilterBots::ID:
26900 if constexpr (AllowTag) {
26901 downcast_call_tag<chatMembersFilterBots> type_tag;
26902 func(type_tag);
26903 } else {
26904 func(static_cast<chatMembersFilterBots &>(*obj));
26905 }
26906 return true;
26907 default:
26908 return false;
26909 }
26910}

◆ downcast_call_impl() [33/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatMemberStatus obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26774 of file td_api.hpp.

26774 { //-V2008
26775 switch (constructor) {
26776 case chatMemberStatusCreator::ID:
26777 if constexpr (AllowTag) {
26778 downcast_call_tag<chatMemberStatusCreator> type_tag;
26779 func(type_tag);
26780 } else {
26781 func(static_cast<chatMemberStatusCreator &>(*obj));
26782 }
26783 return true;
26784 case chatMemberStatusAdministrator::ID:
26785 if constexpr (AllowTag) {
26786 downcast_call_tag<chatMemberStatusAdministrator> type_tag;
26787 func(type_tag);
26788 } else {
26789 func(static_cast<chatMemberStatusAdministrator &>(*obj));
26790 }
26791 return true;
26792 case chatMemberStatusMember::ID:
26793 if constexpr (AllowTag) {
26794 downcast_call_tag<chatMemberStatusMember> type_tag;
26795 func(type_tag);
26796 } else {
26797 func(static_cast<chatMemberStatusMember &>(*obj));
26798 }
26799 return true;
26800 case chatMemberStatusRestricted::ID:
26801 if constexpr (AllowTag) {
26802 downcast_call_tag<chatMemberStatusRestricted> type_tag;
26803 func(type_tag);
26804 } else {
26805 func(static_cast<chatMemberStatusRestricted &>(*obj));
26806 }
26807 return true;
26808 case chatMemberStatusLeft::ID:
26809 if constexpr (AllowTag) {
26810 downcast_call_tag<chatMemberStatusLeft> type_tag;
26811 func(type_tag);
26812 } else {
26813 func(static_cast<chatMemberStatusLeft &>(*obj));
26814 }
26815 return true;
26816 case chatMemberStatusBanned::ID:
26817 if constexpr (AllowTag) {
26818 downcast_call_tag<chatMemberStatusBanned> type_tag;
26819 func(type_tag);
26820 } else {
26821 func(static_cast<chatMemberStatusBanned &>(*obj));
26822 }
26823 return true;
26824 default:
26825 return false;
26826 }
26827}

◆ downcast_call_impl() [34/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatPhotoStickerType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26932 of file td_api.hpp.

26932 { //-V2008
26933 switch (constructor) {
26934 case chatPhotoStickerTypeRegularOrMask::ID:
26935 if constexpr (AllowTag) {
26936 downcast_call_tag<chatPhotoStickerTypeRegularOrMask> type_tag;
26937 func(type_tag);
26938 } else {
26939 func(static_cast<chatPhotoStickerTypeRegularOrMask &>(*obj));
26940 }
26941 return true;
26942 case chatPhotoStickerTypeCustomEmoji::ID:
26943 if constexpr (AllowTag) {
26944 downcast_call_tag<chatPhotoStickerTypeCustomEmoji> type_tag;
26945 func(type_tag);
26946 } else {
26947 func(static_cast<chatPhotoStickerTypeCustomEmoji &>(*obj));
26948 }
26949 return true;
26950 default:
26951 return false;
26952 }
26953}

◆ downcast_call_impl() [35/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatRevenueTransactionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 26975 of file td_api.hpp.

26975 { //-V2008
26976 switch (constructor) {
26977 case chatRevenueTransactionTypeUnsupported::ID:
26978 if constexpr (AllowTag) {
26979 downcast_call_tag<chatRevenueTransactionTypeUnsupported> type_tag;
26980 func(type_tag);
26981 } else {
26982 func(static_cast<chatRevenueTransactionTypeUnsupported &>(*obj));
26983 }
26984 return true;
26985 case chatRevenueTransactionTypeSponsoredMessageEarnings::ID:
26986 if constexpr (AllowTag) {
26987 downcast_call_tag<chatRevenueTransactionTypeSponsoredMessageEarnings> type_tag;
26988 func(type_tag);
26989 } else {
26990 func(static_cast<chatRevenueTransactionTypeSponsoredMessageEarnings &>(*obj));
26991 }
26992 return true;
26993 case chatRevenueTransactionTypeSuggestedPostEarnings::ID:
26994 if constexpr (AllowTag) {
26995 downcast_call_tag<chatRevenueTransactionTypeSuggestedPostEarnings> type_tag;
26996 func(type_tag);
26997 } else {
26998 func(static_cast<chatRevenueTransactionTypeSuggestedPostEarnings &>(*obj));
26999 }
27000 return true;
27001 case chatRevenueTransactionTypeFragmentWithdrawal::ID:
27002 if constexpr (AllowTag) {
27003 downcast_call_tag<chatRevenueTransactionTypeFragmentWithdrawal> type_tag;
27004 func(type_tag);
27005 } else {
27006 func(static_cast<chatRevenueTransactionTypeFragmentWithdrawal &>(*obj));
27007 }
27008 return true;
27009 case chatRevenueTransactionTypeFragmentRefund::ID:
27010 if constexpr (AllowTag) {
27011 downcast_call_tag<chatRevenueTransactionTypeFragmentRefund> type_tag;
27012 func(type_tag);
27013 } else {
27014 func(static_cast<chatRevenueTransactionTypeFragmentRefund &>(*obj));
27015 }
27016 return true;
27017 default:
27018 return false;
27019 }
27020}

◆ downcast_call_impl() [36/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27042 of file td_api.hpp.

27042 { //-V2008
27043 switch (constructor) {
27044 case chatSourceMtprotoProxy::ID:
27045 if constexpr (AllowTag) {
27046 downcast_call_tag<chatSourceMtprotoProxy> type_tag;
27047 func(type_tag);
27048 } else {
27049 func(static_cast<chatSourceMtprotoProxy &>(*obj));
27050 }
27051 return true;
27052 case chatSourcePublicServiceAnnouncement::ID:
27053 if constexpr (AllowTag) {
27054 downcast_call_tag<chatSourcePublicServiceAnnouncement> type_tag;
27055 func(type_tag);
27056 } else {
27057 func(static_cast<chatSourcePublicServiceAnnouncement &>(*obj));
27058 }
27059 return true;
27060 default:
27061 return false;
27062 }
27063}

◆ downcast_call_impl() [37/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatStatistics obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27085 of file td_api.hpp.

27085 { //-V2008
27086 switch (constructor) {
27087 case chatStatisticsSupergroup::ID:
27088 if constexpr (AllowTag) {
27089 downcast_call_tag<chatStatisticsSupergroup> type_tag;
27090 func(type_tag);
27091 } else {
27092 func(static_cast<chatStatisticsSupergroup &>(*obj));
27093 }
27094 return true;
27095 case chatStatisticsChannel::ID:
27096 if constexpr (AllowTag) {
27097 downcast_call_tag<chatStatisticsChannel> type_tag;
27098 func(type_tag);
27099 } else {
27100 func(static_cast<chatStatisticsChannel &>(*obj));
27101 }
27102 return true;
27103 default:
27104 return false;
27105 }
27106}

◆ downcast_call_impl() [38/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatStatisticsObjectType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27128 of file td_api.hpp.

27128 { //-V2008
27129 switch (constructor) {
27130 case chatStatisticsObjectTypeMessage::ID:
27131 if constexpr (AllowTag) {
27132 downcast_call_tag<chatStatisticsObjectTypeMessage> type_tag;
27133 func(type_tag);
27134 } else {
27135 func(static_cast<chatStatisticsObjectTypeMessage &>(*obj));
27136 }
27137 return true;
27138 case chatStatisticsObjectTypeStory::ID:
27139 if constexpr (AllowTag) {
27140 downcast_call_tag<chatStatisticsObjectTypeStory> type_tag;
27141 func(type_tag);
27142 } else {
27143 func(static_cast<chatStatisticsObjectTypeStory &>(*obj));
27144 }
27145 return true;
27146 default:
27147 return false;
27148 }
27149}

◆ downcast_call_impl() [39/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatTheme obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27171 of file td_api.hpp.

27171 { //-V2008
27172 switch (constructor) {
27173 case chatThemeEmoji::ID:
27174 if constexpr (AllowTag) {
27175 downcast_call_tag<chatThemeEmoji> type_tag;
27176 func(type_tag);
27177 } else {
27178 func(static_cast<chatThemeEmoji &>(*obj));
27179 }
27180 return true;
27181 case chatThemeGift::ID:
27182 if constexpr (AllowTag) {
27183 downcast_call_tag<chatThemeGift> type_tag;
27184 func(type_tag);
27185 } else {
27186 func(static_cast<chatThemeGift &>(*obj));
27187 }
27188 return true;
27189 default:
27190 return false;
27191 }
27192}

◆ downcast_call_impl() [40/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ChatType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27214 of file td_api.hpp.

27214 { //-V2008
27215 switch (constructor) {
27216 case chatTypePrivate::ID:
27217 if constexpr (AllowTag) {
27218 downcast_call_tag<chatTypePrivate> type_tag;
27219 func(type_tag);
27220 } else {
27221 func(static_cast<chatTypePrivate &>(*obj));
27222 }
27223 return true;
27224 case chatTypeBasicGroup::ID:
27225 if constexpr (AllowTag) {
27226 downcast_call_tag<chatTypeBasicGroup> type_tag;
27227 func(type_tag);
27228 } else {
27229 func(static_cast<chatTypeBasicGroup &>(*obj));
27230 }
27231 return true;
27232 case chatTypeSupergroup::ID:
27233 if constexpr (AllowTag) {
27234 downcast_call_tag<chatTypeSupergroup> type_tag;
27235 func(type_tag);
27236 } else {
27237 func(static_cast<chatTypeSupergroup &>(*obj));
27238 }
27239 return true;
27240 case chatTypeSecret::ID:
27241 if constexpr (AllowTag) {
27242 downcast_call_tag<chatTypeSecret> type_tag;
27243 func(type_tag);
27244 } else {
27245 func(static_cast<chatTypeSecret &>(*obj));
27246 }
27247 return true;
27248 default:
27249 return false;
27250 }
27251}

◆ downcast_call_impl() [41/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CheckChatUsernameResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27273 of file td_api.hpp.

27273 { //-V2008
27274 switch (constructor) {
27275 case checkChatUsernameResultOk::ID:
27276 if constexpr (AllowTag) {
27277 downcast_call_tag<checkChatUsernameResultOk> type_tag;
27278 func(type_tag);
27279 } else {
27280 func(static_cast<checkChatUsernameResultOk &>(*obj));
27281 }
27282 return true;
27283 case checkChatUsernameResultUsernameInvalid::ID:
27284 if constexpr (AllowTag) {
27285 downcast_call_tag<checkChatUsernameResultUsernameInvalid> type_tag;
27286 func(type_tag);
27287 } else {
27288 func(static_cast<checkChatUsernameResultUsernameInvalid &>(*obj));
27289 }
27290 return true;
27291 case checkChatUsernameResultUsernameOccupied::ID:
27292 if constexpr (AllowTag) {
27293 downcast_call_tag<checkChatUsernameResultUsernameOccupied> type_tag;
27294 func(type_tag);
27295 } else {
27296 func(static_cast<checkChatUsernameResultUsernameOccupied &>(*obj));
27297 }
27298 return true;
27299 case checkChatUsernameResultUsernamePurchasable::ID:
27300 if constexpr (AllowTag) {
27301 downcast_call_tag<checkChatUsernameResultUsernamePurchasable> type_tag;
27302 func(type_tag);
27303 } else {
27304 func(static_cast<checkChatUsernameResultUsernamePurchasable &>(*obj));
27305 }
27306 return true;
27307 case checkChatUsernameResultPublicChatsTooMany::ID:
27308 if constexpr (AllowTag) {
27309 downcast_call_tag<checkChatUsernameResultPublicChatsTooMany> type_tag;
27310 func(type_tag);
27311 } else {
27312 func(static_cast<checkChatUsernameResultPublicChatsTooMany &>(*obj));
27313 }
27314 return true;
27315 case checkChatUsernameResultPublicGroupsUnavailable::ID:
27316 if constexpr (AllowTag) {
27317 downcast_call_tag<checkChatUsernameResultPublicGroupsUnavailable> type_tag;
27318 func(type_tag);
27319 } else {
27320 func(static_cast<checkChatUsernameResultPublicGroupsUnavailable &>(*obj));
27321 }
27322 return true;
27323 default:
27324 return false;
27325 }
27326}

◆ downcast_call_impl() [42/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CheckStickerSetNameResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27348 of file td_api.hpp.

27348 { //-V2008
27349 switch (constructor) {
27350 case checkStickerSetNameResultOk::ID:
27351 if constexpr (AllowTag) {
27352 downcast_call_tag<checkStickerSetNameResultOk> type_tag;
27353 func(type_tag);
27354 } else {
27355 func(static_cast<checkStickerSetNameResultOk &>(*obj));
27356 }
27357 return true;
27358 case checkStickerSetNameResultNameInvalid::ID:
27359 if constexpr (AllowTag) {
27360 downcast_call_tag<checkStickerSetNameResultNameInvalid> type_tag;
27361 func(type_tag);
27362 } else {
27363 func(static_cast<checkStickerSetNameResultNameInvalid &>(*obj));
27364 }
27365 return true;
27366 case checkStickerSetNameResultNameOccupied::ID:
27367 if constexpr (AllowTag) {
27368 downcast_call_tag<checkStickerSetNameResultNameOccupied> type_tag;
27369 func(type_tag);
27370 } else {
27371 func(static_cast<checkStickerSetNameResultNameOccupied &>(*obj));
27372 }
27373 return true;
27374 default:
27375 return false;
27376 }
27377}

◆ downcast_call_impl() [43/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CollectibleItemType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27399 of file td_api.hpp.

27399 { //-V2008
27400 switch (constructor) {
27401 case collectibleItemTypeUsername::ID:
27402 if constexpr (AllowTag) {
27403 downcast_call_tag<collectibleItemTypeUsername> type_tag;
27404 func(type_tag);
27405 } else {
27406 func(static_cast<collectibleItemTypeUsername &>(*obj));
27407 }
27408 return true;
27409 case collectibleItemTypePhoneNumber::ID:
27410 if constexpr (AllowTag) {
27411 downcast_call_tag<collectibleItemTypePhoneNumber> type_tag;
27412 func(type_tag);
27413 } else {
27414 func(static_cast<collectibleItemTypePhoneNumber &>(*obj));
27415 }
27416 return true;
27417 default:
27418 return false;
27419 }
27420}

◆ downcast_call_impl() [44/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ConnectionState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27442 of file td_api.hpp.

27442 { //-V2008
27443 switch (constructor) {
27444 case connectionStateWaitingForNetwork::ID:
27445 if constexpr (AllowTag) {
27446 downcast_call_tag<connectionStateWaitingForNetwork> type_tag;
27447 func(type_tag);
27448 } else {
27449 func(static_cast<connectionStateWaitingForNetwork &>(*obj));
27450 }
27451 return true;
27452 case connectionStateConnectingToProxy::ID:
27453 if constexpr (AllowTag) {
27454 downcast_call_tag<connectionStateConnectingToProxy> type_tag;
27455 func(type_tag);
27456 } else {
27457 func(static_cast<connectionStateConnectingToProxy &>(*obj));
27458 }
27459 return true;
27460 case connectionStateConnecting::ID:
27461 if constexpr (AllowTag) {
27462 downcast_call_tag<connectionStateConnecting> type_tag;
27463 func(type_tag);
27464 } else {
27465 func(static_cast<connectionStateConnecting &>(*obj));
27466 }
27467 return true;
27468 case connectionStateUpdating::ID:
27469 if constexpr (AllowTag) {
27470 downcast_call_tag<connectionStateUpdating> type_tag;
27471 func(type_tag);
27472 } else {
27473 func(static_cast<connectionStateUpdating &>(*obj));
27474 }
27475 return true;
27476 case connectionStateReady::ID:
27477 if constexpr (AllowTag) {
27478 downcast_call_tag<connectionStateReady> type_tag;
27479 func(type_tag);
27480 } else {
27481 func(static_cast<connectionStateReady &>(*obj));
27482 }
27483 return true;
27484 default:
27485 return false;
27486 }
27487}

◆ downcast_call_impl() [45/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
CraftGiftResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27509 of file td_api.hpp.

27509 { //-V2008
27510 switch (constructor) {
27511 case craftGiftResultSuccess::ID:
27512 if constexpr (AllowTag) {
27513 downcast_call_tag<craftGiftResultSuccess> type_tag;
27514 func(type_tag);
27515 } else {
27516 func(static_cast<craftGiftResultSuccess &>(*obj));
27517 }
27518 return true;
27519 case craftGiftResultTooEarly::ID:
27520 if constexpr (AllowTag) {
27521 downcast_call_tag<craftGiftResultTooEarly> type_tag;
27522 func(type_tag);
27523 } else {
27524 func(static_cast<craftGiftResultTooEarly &>(*obj));
27525 }
27526 return true;
27527 case craftGiftResultInvalidGift::ID:
27528 if constexpr (AllowTag) {
27529 downcast_call_tag<craftGiftResultInvalidGift> type_tag;
27530 func(type_tag);
27531 } else {
27532 func(static_cast<craftGiftResultInvalidGift &>(*obj));
27533 }
27534 return true;
27535 case craftGiftResultFail::ID:
27536 if constexpr (AllowTag) {
27537 downcast_call_tag<craftGiftResultFail> type_tag;
27538 func(type_tag);
27539 } else {
27540 func(static_cast<craftGiftResultFail &>(*obj));
27541 }
27542 return true;
27543 default:
27544 return false;
27545 }
27546}

◆ downcast_call_impl() [46/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
DateTimeFormattingType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27568 of file td_api.hpp.

27568 { //-V2008
27569 switch (constructor) {
27570 case dateTimeFormattingTypeRelative::ID:
27571 if constexpr (AllowTag) {
27572 downcast_call_tag<dateTimeFormattingTypeRelative> type_tag;
27573 func(type_tag);
27574 } else {
27575 func(static_cast<dateTimeFormattingTypeRelative &>(*obj));
27576 }
27577 return true;
27578 case dateTimeFormattingTypeAbsolute::ID:
27579 if constexpr (AllowTag) {
27580 downcast_call_tag<dateTimeFormattingTypeAbsolute> type_tag;
27581 func(type_tag);
27582 } else {
27583 func(static_cast<dateTimeFormattingTypeAbsolute &>(*obj));
27584 }
27585 return true;
27586 default:
27587 return false;
27588 }
27589}

◆ downcast_call_impl() [47/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
DateTimePartPrecision obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27611 of file td_api.hpp.

27611 { //-V2008
27612 switch (constructor) {
27613 case dateTimePartPrecisionNone::ID:
27614 if constexpr (AllowTag) {
27615 downcast_call_tag<dateTimePartPrecisionNone> type_tag;
27616 func(type_tag);
27617 } else {
27618 func(static_cast<dateTimePartPrecisionNone &>(*obj));
27619 }
27620 return true;
27621 case dateTimePartPrecisionShort::ID:
27622 if constexpr (AllowTag) {
27623 downcast_call_tag<dateTimePartPrecisionShort> type_tag;
27624 func(type_tag);
27625 } else {
27626 func(static_cast<dateTimePartPrecisionShort &>(*obj));
27627 }
27628 return true;
27629 case dateTimePartPrecisionLong::ID:
27630 if constexpr (AllowTag) {
27631 downcast_call_tag<dateTimePartPrecisionLong> type_tag;
27632 func(type_tag);
27633 } else {
27634 func(static_cast<dateTimePartPrecisionLong &>(*obj));
27635 }
27636 return true;
27637 default:
27638 return false;
27639 }
27640}

◆ downcast_call_impl() [48/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
DeviceToken obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27662 of file td_api.hpp.

27662 { //-V2008
27663 switch (constructor) {
27664 case deviceTokenFirebaseCloudMessaging::ID:
27665 if constexpr (AllowTag) {
27666 downcast_call_tag<deviceTokenFirebaseCloudMessaging> type_tag;
27667 func(type_tag);
27668 } else {
27669 func(static_cast<deviceTokenFirebaseCloudMessaging &>(*obj));
27670 }
27671 return true;
27672 case deviceTokenApplePush::ID:
27673 if constexpr (AllowTag) {
27674 downcast_call_tag<deviceTokenApplePush> type_tag;
27675 func(type_tag);
27676 } else {
27677 func(static_cast<deviceTokenApplePush &>(*obj));
27678 }
27679 return true;
27680 case deviceTokenApplePushVoIP::ID:
27681 if constexpr (AllowTag) {
27682 downcast_call_tag<deviceTokenApplePushVoIP> type_tag;
27683 func(type_tag);
27684 } else {
27685 func(static_cast<deviceTokenApplePushVoIP &>(*obj));
27686 }
27687 return true;
27688 case deviceTokenWindowsPush::ID:
27689 if constexpr (AllowTag) {
27690 downcast_call_tag<deviceTokenWindowsPush> type_tag;
27691 func(type_tag);
27692 } else {
27693 func(static_cast<deviceTokenWindowsPush &>(*obj));
27694 }
27695 return true;
27696 case deviceTokenMicrosoftPush::ID:
27697 if constexpr (AllowTag) {
27698 downcast_call_tag<deviceTokenMicrosoftPush> type_tag;
27699 func(type_tag);
27700 } else {
27701 func(static_cast<deviceTokenMicrosoftPush &>(*obj));
27702 }
27703 return true;
27704 case deviceTokenMicrosoftPushVoIP::ID:
27705 if constexpr (AllowTag) {
27706 downcast_call_tag<deviceTokenMicrosoftPushVoIP> type_tag;
27707 func(type_tag);
27708 } else {
27709 func(static_cast<deviceTokenMicrosoftPushVoIP &>(*obj));
27710 }
27711 return true;
27712 case deviceTokenWebPush::ID:
27713 if constexpr (AllowTag) {
27714 downcast_call_tag<deviceTokenWebPush> type_tag;
27715 func(type_tag);
27716 } else {
27717 func(static_cast<deviceTokenWebPush &>(*obj));
27718 }
27719 return true;
27720 case deviceTokenSimplePush::ID:
27721 if constexpr (AllowTag) {
27722 downcast_call_tag<deviceTokenSimplePush> type_tag;
27723 func(type_tag);
27724 } else {
27725 func(static_cast<deviceTokenSimplePush &>(*obj));
27726 }
27727 return true;
27728 case deviceTokenUbuntuPush::ID:
27729 if constexpr (AllowTag) {
27730 downcast_call_tag<deviceTokenUbuntuPush> type_tag;
27731 func(type_tag);
27732 } else {
27733 func(static_cast<deviceTokenUbuntuPush &>(*obj));
27734 }
27735 return true;
27736 case deviceTokenBlackBerryPush::ID:
27737 if constexpr (AllowTag) {
27738 downcast_call_tag<deviceTokenBlackBerryPush> type_tag;
27739 func(type_tag);
27740 } else {
27741 func(static_cast<deviceTokenBlackBerryPush &>(*obj));
27742 }
27743 return true;
27744 case deviceTokenTizenPush::ID:
27745 if constexpr (AllowTag) {
27746 downcast_call_tag<deviceTokenTizenPush> type_tag;
27747 func(type_tag);
27748 } else {
27749 func(static_cast<deviceTokenTizenPush &>(*obj));
27750 }
27751 return true;
27752 case deviceTokenHuaweiPush::ID:
27753 if constexpr (AllowTag) {
27754 downcast_call_tag<deviceTokenHuaweiPush> type_tag;
27755 func(type_tag);
27756 } else {
27757 func(static_cast<deviceTokenHuaweiPush &>(*obj));
27758 }
27759 return true;
27760 default:
27761 return false;
27762 }
27763}

◆ downcast_call_impl() [49/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
DiceStickers obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27785 of file td_api.hpp.

27785 { //-V2008
27786 switch (constructor) {
27787 case diceStickersRegular::ID:
27788 if constexpr (AllowTag) {
27789 downcast_call_tag<diceStickersRegular> type_tag;
27790 func(type_tag);
27791 } else {
27792 func(static_cast<diceStickersRegular &>(*obj));
27793 }
27794 return true;
27795 case diceStickersSlotMachine::ID:
27796 if constexpr (AllowTag) {
27797 downcast_call_tag<diceStickersSlotMachine> type_tag;
27798 func(type_tag);
27799 } else {
27800 func(static_cast<diceStickersSlotMachine &>(*obj));
27801 }
27802 return true;
27803 default:
27804 return false;
27805 }
27806}

◆ downcast_call_impl() [50/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
DiffEntityType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27828 of file td_api.hpp.

27828 { //-V2008
27829 switch (constructor) {
27830 case diffEntityTypeInsert::ID:
27831 if constexpr (AllowTag) {
27832 downcast_call_tag<diffEntityTypeInsert> type_tag;
27833 func(type_tag);
27834 } else {
27835 func(static_cast<diffEntityTypeInsert &>(*obj));
27836 }
27837 return true;
27838 case diffEntityTypeReplace::ID:
27839 if constexpr (AllowTag) {
27840 downcast_call_tag<diffEntityTypeReplace> type_tag;
27841 func(type_tag);
27842 } else {
27843 func(static_cast<diffEntityTypeReplace &>(*obj));
27844 }
27845 return true;
27846 case diffEntityTypeDelete::ID:
27847 if constexpr (AllowTag) {
27848 downcast_call_tag<diffEntityTypeDelete> type_tag;
27849 func(type_tag);
27850 } else {
27851 func(static_cast<diffEntityTypeDelete &>(*obj));
27852 }
27853 return true;
27854 default:
27855 return false;
27856 }
27857}

◆ downcast_call_impl() [51/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
EmailAddressAuthentication obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27879 of file td_api.hpp.

27879 { //-V2008
27880 switch (constructor) {
27881 case emailAddressAuthenticationCode::ID:
27882 if constexpr (AllowTag) {
27883 downcast_call_tag<emailAddressAuthenticationCode> type_tag;
27884 func(type_tag);
27885 } else {
27886 func(static_cast<emailAddressAuthenticationCode &>(*obj));
27887 }
27888 return true;
27889 case emailAddressAuthenticationAppleId::ID:
27890 if constexpr (AllowTag) {
27891 downcast_call_tag<emailAddressAuthenticationAppleId> type_tag;
27892 func(type_tag);
27893 } else {
27894 func(static_cast<emailAddressAuthenticationAppleId &>(*obj));
27895 }
27896 return true;
27897 case emailAddressAuthenticationGoogleId::ID:
27898 if constexpr (AllowTag) {
27899 downcast_call_tag<emailAddressAuthenticationGoogleId> type_tag;
27900 func(type_tag);
27901 } else {
27902 func(static_cast<emailAddressAuthenticationGoogleId &>(*obj));
27903 }
27904 return true;
27905 default:
27906 return false;
27907 }
27908}

◆ downcast_call_impl() [52/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
EmailAddressResetState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27930 of file td_api.hpp.

27930 { //-V2008
27931 switch (constructor) {
27932 case emailAddressResetStateAvailable::ID:
27933 if constexpr (AllowTag) {
27934 downcast_call_tag<emailAddressResetStateAvailable> type_tag;
27935 func(type_tag);
27936 } else {
27937 func(static_cast<emailAddressResetStateAvailable &>(*obj));
27938 }
27939 return true;
27940 case emailAddressResetStatePending::ID:
27941 if constexpr (AllowTag) {
27942 downcast_call_tag<emailAddressResetStatePending> type_tag;
27943 func(type_tag);
27944 } else {
27945 func(static_cast<emailAddressResetStatePending &>(*obj));
27946 }
27947 return true;
27948 default:
27949 return false;
27950 }
27951}

◆ downcast_call_impl() [53/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
EmojiCategorySource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 27973 of file td_api.hpp.

27973 { //-V2008
27974 switch (constructor) {
27975 case emojiCategorySourceSearch::ID:
27976 if constexpr (AllowTag) {
27977 downcast_call_tag<emojiCategorySourceSearch> type_tag;
27978 func(type_tag);
27979 } else {
27980 func(static_cast<emojiCategorySourceSearch &>(*obj));
27981 }
27982 return true;
27983 case emojiCategorySourcePremium::ID:
27984 if constexpr (AllowTag) {
27985 downcast_call_tag<emojiCategorySourcePremium> type_tag;
27986 func(type_tag);
27987 } else {
27988 func(static_cast<emojiCategorySourcePremium &>(*obj));
27989 }
27990 return true;
27991 default:
27992 return false;
27993 }
27994}

◆ downcast_call_impl() [54/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
EmojiCategoryType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28016 of file td_api.hpp.

28016 { //-V2008
28017 switch (constructor) {
28018 case emojiCategoryTypeDefault::ID:
28019 if constexpr (AllowTag) {
28020 downcast_call_tag<emojiCategoryTypeDefault> type_tag;
28021 func(type_tag);
28022 } else {
28023 func(static_cast<emojiCategoryTypeDefault &>(*obj));
28024 }
28025 return true;
28026 case emojiCategoryTypeRegularStickers::ID:
28027 if constexpr (AllowTag) {
28028 downcast_call_tag<emojiCategoryTypeRegularStickers> type_tag;
28029 func(type_tag);
28030 } else {
28031 func(static_cast<emojiCategoryTypeRegularStickers &>(*obj));
28032 }
28033 return true;
28034 case emojiCategoryTypeEmojiStatus::ID:
28035 if constexpr (AllowTag) {
28036 downcast_call_tag<emojiCategoryTypeEmojiStatus> type_tag;
28037 func(type_tag);
28038 } else {
28039 func(static_cast<emojiCategoryTypeEmojiStatus &>(*obj));
28040 }
28041 return true;
28042 case emojiCategoryTypeChatPhoto::ID:
28043 if constexpr (AllowTag) {
28044 downcast_call_tag<emojiCategoryTypeChatPhoto> type_tag;
28045 func(type_tag);
28046 } else {
28047 func(static_cast<emojiCategoryTypeChatPhoto &>(*obj));
28048 }
28049 return true;
28050 default:
28051 return false;
28052 }
28053}

◆ downcast_call_impl() [55/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
EmojiStatusType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28075 of file td_api.hpp.

28075 { //-V2008
28076 switch (constructor) {
28077 case emojiStatusTypeCustomEmoji::ID:
28078 if constexpr (AllowTag) {
28079 downcast_call_tag<emojiStatusTypeCustomEmoji> type_tag;
28080 func(type_tag);
28081 } else {
28082 func(static_cast<emojiStatusTypeCustomEmoji &>(*obj));
28083 }
28084 return true;
28085 case emojiStatusTypeUpgradedGift::ID:
28086 if constexpr (AllowTag) {
28087 downcast_call_tag<emojiStatusTypeUpgradedGift> type_tag;
28088 func(type_tag);
28089 } else {
28090 func(static_cast<emojiStatusTypeUpgradedGift &>(*obj));
28091 }
28092 return true;
28093 default:
28094 return false;
28095 }
28096}

◆ downcast_call_impl() [56/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
FileType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28118 of file td_api.hpp.

28118 { //-V2008
28119 switch (constructor) {
28120 case fileTypeNone::ID:
28121 if constexpr (AllowTag) {
28122 downcast_call_tag<fileTypeNone> type_tag;
28123 func(type_tag);
28124 } else {
28125 func(static_cast<fileTypeNone &>(*obj));
28126 }
28127 return true;
28128 case fileTypeAnimation::ID:
28129 if constexpr (AllowTag) {
28130 downcast_call_tag<fileTypeAnimation> type_tag;
28131 func(type_tag);
28132 } else {
28133 func(static_cast<fileTypeAnimation &>(*obj));
28134 }
28135 return true;
28136 case fileTypeAudio::ID:
28137 if constexpr (AllowTag) {
28138 downcast_call_tag<fileTypeAudio> type_tag;
28139 func(type_tag);
28140 } else {
28141 func(static_cast<fileTypeAudio &>(*obj));
28142 }
28143 return true;
28144 case fileTypeDocument::ID:
28145 if constexpr (AllowTag) {
28146 downcast_call_tag<fileTypeDocument> type_tag;
28147 func(type_tag);
28148 } else {
28149 func(static_cast<fileTypeDocument &>(*obj));
28150 }
28151 return true;
28152 case fileTypeLivePhotoVideo::ID:
28153 if constexpr (AllowTag) {
28154 downcast_call_tag<fileTypeLivePhotoVideo> type_tag;
28155 func(type_tag);
28156 } else {
28157 func(static_cast<fileTypeLivePhotoVideo &>(*obj));
28158 }
28159 return true;
28160 case fileTypeNotificationSound::ID:
28161 if constexpr (AllowTag) {
28162 downcast_call_tag<fileTypeNotificationSound> type_tag;
28163 func(type_tag);
28164 } else {
28165 func(static_cast<fileTypeNotificationSound &>(*obj));
28166 }
28167 return true;
28168 case fileTypePhoto::ID:
28169 if constexpr (AllowTag) {
28170 downcast_call_tag<fileTypePhoto> type_tag;
28171 func(type_tag);
28172 } else {
28173 func(static_cast<fileTypePhoto &>(*obj));
28174 }
28175 return true;
28176 case fileTypePhotoStory::ID:
28177 if constexpr (AllowTag) {
28178 downcast_call_tag<fileTypePhotoStory> type_tag;
28179 func(type_tag);
28180 } else {
28181 func(static_cast<fileTypePhotoStory &>(*obj));
28182 }
28183 return true;
28184 case fileTypeProfilePhoto::ID:
28185 if constexpr (AllowTag) {
28186 downcast_call_tag<fileTypeProfilePhoto> type_tag;
28187 func(type_tag);
28188 } else {
28189 func(static_cast<fileTypeProfilePhoto &>(*obj));
28190 }
28191 return true;
28192 case fileTypeSecret::ID:
28193 if constexpr (AllowTag) {
28194 downcast_call_tag<fileTypeSecret> type_tag;
28195 func(type_tag);
28196 } else {
28197 func(static_cast<fileTypeSecret &>(*obj));
28198 }
28199 return true;
28200 case fileTypeSecretThumbnail::ID:
28201 if constexpr (AllowTag) {
28202 downcast_call_tag<fileTypeSecretThumbnail> type_tag;
28203 func(type_tag);
28204 } else {
28205 func(static_cast<fileTypeSecretThumbnail &>(*obj));
28206 }
28207 return true;
28208 case fileTypeSecure::ID:
28209 if constexpr (AllowTag) {
28210 downcast_call_tag<fileTypeSecure> type_tag;
28211 func(type_tag);
28212 } else {
28213 func(static_cast<fileTypeSecure &>(*obj));
28214 }
28215 return true;
28216 case fileTypeSelfDestructingLivePhotoVideo::ID:
28217 if constexpr (AllowTag) {
28218 downcast_call_tag<fileTypeSelfDestructingLivePhotoVideo> type_tag;
28219 func(type_tag);
28220 } else {
28221 func(static_cast<fileTypeSelfDestructingLivePhotoVideo &>(*obj));
28222 }
28223 return true;
28224 case fileTypeSelfDestructingPhoto::ID:
28225 if constexpr (AllowTag) {
28226 downcast_call_tag<fileTypeSelfDestructingPhoto> type_tag;
28227 func(type_tag);
28228 } else {
28229 func(static_cast<fileTypeSelfDestructingPhoto &>(*obj));
28230 }
28231 return true;
28232 case fileTypeSelfDestructingVideo::ID:
28233 if constexpr (AllowTag) {
28234 downcast_call_tag<fileTypeSelfDestructingVideo> type_tag;
28235 func(type_tag);
28236 } else {
28237 func(static_cast<fileTypeSelfDestructingVideo &>(*obj));
28238 }
28239 return true;
28240 case fileTypeSelfDestructingVideoNote::ID:
28241 if constexpr (AllowTag) {
28242 downcast_call_tag<fileTypeSelfDestructingVideoNote> type_tag;
28243 func(type_tag);
28244 } else {
28245 func(static_cast<fileTypeSelfDestructingVideoNote &>(*obj));
28246 }
28247 return true;
28248 case fileTypeSelfDestructingVoiceNote::ID:
28249 if constexpr (AllowTag) {
28250 downcast_call_tag<fileTypeSelfDestructingVoiceNote> type_tag;
28251 func(type_tag);
28252 } else {
28253 func(static_cast<fileTypeSelfDestructingVoiceNote &>(*obj));
28254 }
28255 return true;
28256 case fileTypeSticker::ID:
28257 if constexpr (AllowTag) {
28258 downcast_call_tag<fileTypeSticker> type_tag;
28259 func(type_tag);
28260 } else {
28261 func(static_cast<fileTypeSticker &>(*obj));
28262 }
28263 return true;
28264 case fileTypeThumbnail::ID:
28265 if constexpr (AllowTag) {
28266 downcast_call_tag<fileTypeThumbnail> type_tag;
28267 func(type_tag);
28268 } else {
28269 func(static_cast<fileTypeThumbnail &>(*obj));
28270 }
28271 return true;
28272 case fileTypeUnknown::ID:
28273 if constexpr (AllowTag) {
28274 downcast_call_tag<fileTypeUnknown> type_tag;
28275 func(type_tag);
28276 } else {
28277 func(static_cast<fileTypeUnknown &>(*obj));
28278 }
28279 return true;
28280 case fileTypeVideo::ID:
28281 if constexpr (AllowTag) {
28282 downcast_call_tag<fileTypeVideo> type_tag;
28283 func(type_tag);
28284 } else {
28285 func(static_cast<fileTypeVideo &>(*obj));
28286 }
28287 return true;
28288 case fileTypeVideoNote::ID:
28289 if constexpr (AllowTag) {
28290 downcast_call_tag<fileTypeVideoNote> type_tag;
28291 func(type_tag);
28292 } else {
28293 func(static_cast<fileTypeVideoNote &>(*obj));
28294 }
28295 return true;
28296 case fileTypeVideoStory::ID:
28297 if constexpr (AllowTag) {
28298 downcast_call_tag<fileTypeVideoStory> type_tag;
28299 func(type_tag);
28300 } else {
28301 func(static_cast<fileTypeVideoStory &>(*obj));
28302 }
28303 return true;
28304 case fileTypeVoiceNote::ID:
28305 if constexpr (AllowTag) {
28306 downcast_call_tag<fileTypeVoiceNote> type_tag;
28307 func(type_tag);
28308 } else {
28309 func(static_cast<fileTypeVoiceNote &>(*obj));
28310 }
28311 return true;
28312 case fileTypeWallpaper::ID:
28313 if constexpr (AllowTag) {
28314 downcast_call_tag<fileTypeWallpaper> type_tag;
28315 func(type_tag);
28316 } else {
28317 func(static_cast<fileTypeWallpaper &>(*obj));
28318 }
28319 return true;
28320 default:
28321 return false;
28322 }
28323}

◆ downcast_call_impl() [57/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
FirebaseAuthenticationSettings obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28345 of file td_api.hpp.

28345 { //-V2008
28346 switch (constructor) {
28347 case firebaseAuthenticationSettingsAndroid::ID:
28348 if constexpr (AllowTag) {
28349 downcast_call_tag<firebaseAuthenticationSettingsAndroid> type_tag;
28350 func(type_tag);
28351 } else {
28352 func(static_cast<firebaseAuthenticationSettingsAndroid &>(*obj));
28353 }
28354 return true;
28355 case firebaseAuthenticationSettingsIos::ID:
28356 if constexpr (AllowTag) {
28357 downcast_call_tag<firebaseAuthenticationSettingsIos> type_tag;
28358 func(type_tag);
28359 } else {
28360 func(static_cast<firebaseAuthenticationSettingsIos &>(*obj));
28361 }
28362 return true;
28363 default:
28364 return false;
28365 }
28366}

◆ downcast_call_impl() [58/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
FirebaseDeviceVerificationParameters obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28388 of file td_api.hpp.

28388 { //-V2008
28389 switch (constructor) {
28390 case firebaseDeviceVerificationParametersSafetyNet::ID:
28391 if constexpr (AllowTag) {
28392 downcast_call_tag<firebaseDeviceVerificationParametersSafetyNet> type_tag;
28393 func(type_tag);
28394 } else {
28395 func(static_cast<firebaseDeviceVerificationParametersSafetyNet &>(*obj));
28396 }
28397 return true;
28398 case firebaseDeviceVerificationParametersPlayIntegrity::ID:
28399 if constexpr (AllowTag) {
28400 downcast_call_tag<firebaseDeviceVerificationParametersPlayIntegrity> type_tag;
28401 func(type_tag);
28402 } else {
28403 func(static_cast<firebaseDeviceVerificationParametersPlayIntegrity &>(*obj));
28404 }
28405 return true;
28406 default:
28407 return false;
28408 }
28409}

◆ downcast_call_impl() [59/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
Function obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 16414 of file td_api.hpp.

16414 { //-V2008
16415 switch (constructor) {
16416 case acceptCall::ID:
16417 if constexpr (AllowTag) {
16418 downcast_call_tag<acceptCall> type_tag;
16419 func(type_tag);
16420 } else {
16421 func(static_cast<acceptCall &>(*obj));
16422 }
16423 return true;
16424 case acceptOauthRequest::ID:
16425 if constexpr (AllowTag) {
16426 downcast_call_tag<acceptOauthRequest> type_tag;
16427 func(type_tag);
16428 } else {
16429 func(static_cast<acceptOauthRequest &>(*obj));
16430 }
16431 return true;
16432 case acceptTermsOfService::ID:
16433 if constexpr (AllowTag) {
16434 downcast_call_tag<acceptTermsOfService> type_tag;
16435 func(type_tag);
16436 } else {
16437 func(static_cast<acceptTermsOfService &>(*obj));
16438 }
16439 return true;
16440 case activateStoryStealthMode::ID:
16441 if constexpr (AllowTag) {
16442 downcast_call_tag<activateStoryStealthMode> type_tag;
16443 func(type_tag);
16444 } else {
16445 func(static_cast<activateStoryStealthMode &>(*obj));
16446 }
16447 return true;
16448 case addBotMediaPreview::ID:
16449 if constexpr (AllowTag) {
16450 downcast_call_tag<addBotMediaPreview> type_tag;
16451 func(type_tag);
16452 } else {
16453 func(static_cast<addBotMediaPreview &>(*obj));
16454 }
16455 return true;
16456 case addChatFolderByInviteLink::ID:
16457 if constexpr (AllowTag) {
16458 downcast_call_tag<addChatFolderByInviteLink> type_tag;
16459 func(type_tag);
16460 } else {
16461 func(static_cast<addChatFolderByInviteLink &>(*obj));
16462 }
16463 return true;
16464 case addChatMember::ID:
16465 if constexpr (AllowTag) {
16466 downcast_call_tag<addChatMember> type_tag;
16467 func(type_tag);
16468 } else {
16469 func(static_cast<addChatMember &>(*obj));
16470 }
16471 return true;
16472 case addChatMembers::ID:
16473 if constexpr (AllowTag) {
16474 downcast_call_tag<addChatMembers> type_tag;
16475 func(type_tag);
16476 } else {
16477 func(static_cast<addChatMembers &>(*obj));
16478 }
16479 return true;
16480 case addChatToList::ID:
16481 if constexpr (AllowTag) {
16482 downcast_call_tag<addChatToList> type_tag;
16483 func(type_tag);
16484 } else {
16485 func(static_cast<addChatToList &>(*obj));
16486 }
16487 return true;
16488 case addChecklistTasks::ID:
16489 if constexpr (AllowTag) {
16490 downcast_call_tag<addChecklistTasks> type_tag;
16491 func(type_tag);
16492 } else {
16493 func(static_cast<addChecklistTasks &>(*obj));
16494 }
16495 return true;
16496 case addContact::ID:
16497 if constexpr (AllowTag) {
16498 downcast_call_tag<addContact> type_tag;
16499 func(type_tag);
16500 } else {
16501 func(static_cast<addContact &>(*obj));
16502 }
16503 return true;
16504 case addCustomServerLanguagePack::ID:
16505 if constexpr (AllowTag) {
16506 downcast_call_tag<addCustomServerLanguagePack> type_tag;
16507 func(type_tag);
16508 } else {
16509 func(static_cast<addCustomServerLanguagePack &>(*obj));
16510 }
16511 return true;
16512 case addFavoriteSticker::ID:
16513 if constexpr (AllowTag) {
16514 downcast_call_tag<addFavoriteSticker> type_tag;
16515 func(type_tag);
16516 } else {
16517 func(static_cast<addFavoriteSticker &>(*obj));
16518 }
16519 return true;
16520 case addFileToDownloads::ID:
16521 if constexpr (AllowTag) {
16522 downcast_call_tag<addFileToDownloads> type_tag;
16523 func(type_tag);
16524 } else {
16525 func(static_cast<addFileToDownloads &>(*obj));
16526 }
16527 return true;
16528 case addGiftCollectionGifts::ID:
16529 if constexpr (AllowTag) {
16530 downcast_call_tag<addGiftCollectionGifts> type_tag;
16531 func(type_tag);
16532 } else {
16533 func(static_cast<addGiftCollectionGifts &>(*obj));
16534 }
16535 return true;
16536 case addLocalMessage::ID:
16537 if constexpr (AllowTag) {
16538 downcast_call_tag<addLocalMessage> type_tag;
16539 func(type_tag);
16540 } else {
16541 func(static_cast<addLocalMessage &>(*obj));
16542 }
16543 return true;
16544 case addLogMessage::ID:
16545 if constexpr (AllowTag) {
16546 downcast_call_tag<addLogMessage> type_tag;
16547 func(type_tag);
16548 } else {
16549 func(static_cast<addLogMessage &>(*obj));
16550 }
16551 return true;
16552 case addLoginPasskey::ID:
16553 if constexpr (AllowTag) {
16554 downcast_call_tag<addLoginPasskey> type_tag;
16555 func(type_tag);
16556 } else {
16557 func(static_cast<addLoginPasskey &>(*obj));
16558 }
16559 return true;
16560 case addMessageReaction::ID:
16561 if constexpr (AllowTag) {
16562 downcast_call_tag<addMessageReaction> type_tag;
16563 func(type_tag);
16564 } else {
16565 func(static_cast<addMessageReaction &>(*obj));
16566 }
16567 return true;
16568 case addNetworkStatistics::ID:
16569 if constexpr (AllowTag) {
16570 downcast_call_tag<addNetworkStatistics> type_tag;
16571 func(type_tag);
16572 } else {
16573 func(static_cast<addNetworkStatistics &>(*obj));
16574 }
16575 return true;
16576 case addOffer::ID:
16577 if constexpr (AllowTag) {
16578 downcast_call_tag<addOffer> type_tag;
16579 func(type_tag);
16580 } else {
16581 func(static_cast<addOffer &>(*obj));
16582 }
16583 return true;
16584 case addPendingLiveStoryReaction::ID:
16585 if constexpr (AllowTag) {
16586 downcast_call_tag<addPendingLiveStoryReaction> type_tag;
16587 func(type_tag);
16588 } else {
16589 func(static_cast<addPendingLiveStoryReaction &>(*obj));
16590 }
16591 return true;
16592 case addPendingPaidMessageReaction::ID:
16593 if constexpr (AllowTag) {
16594 downcast_call_tag<addPendingPaidMessageReaction> type_tag;
16595 func(type_tag);
16596 } else {
16597 func(static_cast<addPendingPaidMessageReaction &>(*obj));
16598 }
16599 return true;
16600 case addPollOption::ID:
16601 if constexpr (AllowTag) {
16602 downcast_call_tag<addPollOption> type_tag;
16603 func(type_tag);
16604 } else {
16605 func(static_cast<addPollOption &>(*obj));
16606 }
16607 return true;
16608 case addProfileAudio::ID:
16609 if constexpr (AllowTag) {
16610 downcast_call_tag<addProfileAudio> type_tag;
16611 func(type_tag);
16612 } else {
16613 func(static_cast<addProfileAudio &>(*obj));
16614 }
16615 return true;
16616 case addProxy::ID:
16617 if constexpr (AllowTag) {
16618 downcast_call_tag<addProxy> type_tag;
16619 func(type_tag);
16620 } else {
16621 func(static_cast<addProxy &>(*obj));
16622 }
16623 return true;
16624 case addQuickReplyShortcutInlineQueryResultMessage::ID:
16625 if constexpr (AllowTag) {
16626 downcast_call_tag<addQuickReplyShortcutInlineQueryResultMessage> type_tag;
16627 func(type_tag);
16628 } else {
16629 func(static_cast<addQuickReplyShortcutInlineQueryResultMessage &>(*obj));
16630 }
16631 return true;
16632 case addQuickReplyShortcutMessage::ID:
16633 if constexpr (AllowTag) {
16634 downcast_call_tag<addQuickReplyShortcutMessage> type_tag;
16635 func(type_tag);
16636 } else {
16637 func(static_cast<addQuickReplyShortcutMessage &>(*obj));
16638 }
16639 return true;
16640 case addQuickReplyShortcutMessageAlbum::ID:
16641 if constexpr (AllowTag) {
16642 downcast_call_tag<addQuickReplyShortcutMessageAlbum> type_tag;
16643 func(type_tag);
16644 } else {
16645 func(static_cast<addQuickReplyShortcutMessageAlbum &>(*obj));
16646 }
16647 return true;
16648 case addRecentSticker::ID:
16649 if constexpr (AllowTag) {
16650 downcast_call_tag<addRecentSticker> type_tag;
16651 func(type_tag);
16652 } else {
16653 func(static_cast<addRecentSticker &>(*obj));
16654 }
16655 return true;
16656 case addRecentlyFoundChat::ID:
16657 if constexpr (AllowTag) {
16658 downcast_call_tag<addRecentlyFoundChat> type_tag;
16659 func(type_tag);
16660 } else {
16661 func(static_cast<addRecentlyFoundChat &>(*obj));
16662 }
16663 return true;
16664 case addSavedAnimation::ID:
16665 if constexpr (AllowTag) {
16666 downcast_call_tag<addSavedAnimation> type_tag;
16667 func(type_tag);
16668 } else {
16669 func(static_cast<addSavedAnimation &>(*obj));
16670 }
16671 return true;
16672 case addSavedNotificationSound::ID:
16673 if constexpr (AllowTag) {
16674 downcast_call_tag<addSavedNotificationSound> type_tag;
16675 func(type_tag);
16676 } else {
16677 func(static_cast<addSavedNotificationSound &>(*obj));
16678 }
16679 return true;
16680 case addStickerToSet::ID:
16681 if constexpr (AllowTag) {
16682 downcast_call_tag<addStickerToSet> type_tag;
16683 func(type_tag);
16684 } else {
16685 func(static_cast<addStickerToSet &>(*obj));
16686 }
16687 return true;
16688 case addStoryAlbumStories::ID:
16689 if constexpr (AllowTag) {
16690 downcast_call_tag<addStoryAlbumStories> type_tag;
16691 func(type_tag);
16692 } else {
16693 func(static_cast<addStoryAlbumStories &>(*obj));
16694 }
16695 return true;
16696 case allowBotToSendMessages::ID:
16697 if constexpr (AllowTag) {
16698 downcast_call_tag<allowBotToSendMessages> type_tag;
16699 func(type_tag);
16700 } else {
16701 func(static_cast<allowBotToSendMessages &>(*obj));
16702 }
16703 return true;
16704 case allowUnpaidMessagesFromUser::ID:
16705 if constexpr (AllowTag) {
16706 downcast_call_tag<allowUnpaidMessagesFromUser> type_tag;
16707 func(type_tag);
16708 } else {
16709 func(static_cast<allowUnpaidMessagesFromUser &>(*obj));
16710 }
16711 return true;
16712 case answerCallbackQuery::ID:
16713 if constexpr (AllowTag) {
16714 downcast_call_tag<answerCallbackQuery> type_tag;
16715 func(type_tag);
16716 } else {
16717 func(static_cast<answerCallbackQuery &>(*obj));
16718 }
16719 return true;
16720 case answerCustomQuery::ID:
16721 if constexpr (AllowTag) {
16722 downcast_call_tag<answerCustomQuery> type_tag;
16723 func(type_tag);
16724 } else {
16725 func(static_cast<answerCustomQuery &>(*obj));
16726 }
16727 return true;
16728 case answerGuestQuery::ID:
16729 if constexpr (AllowTag) {
16730 downcast_call_tag<answerGuestQuery> type_tag;
16731 func(type_tag);
16732 } else {
16733 func(static_cast<answerGuestQuery &>(*obj));
16734 }
16735 return true;
16736 case answerInlineQuery::ID:
16737 if constexpr (AllowTag) {
16738 downcast_call_tag<answerInlineQuery> type_tag;
16739 func(type_tag);
16740 } else {
16741 func(static_cast<answerInlineQuery &>(*obj));
16742 }
16743 return true;
16744 case answerPreCheckoutQuery::ID:
16745 if constexpr (AllowTag) {
16746 downcast_call_tag<answerPreCheckoutQuery> type_tag;
16747 func(type_tag);
16748 } else {
16749 func(static_cast<answerPreCheckoutQuery &>(*obj));
16750 }
16751 return true;
16752 case answerShippingQuery::ID:
16753 if constexpr (AllowTag) {
16754 downcast_call_tag<answerShippingQuery> type_tag;
16755 func(type_tag);
16756 } else {
16757 func(static_cast<answerShippingQuery &>(*obj));
16758 }
16759 return true;
16760 case answerWebAppQuery::ID:
16761 if constexpr (AllowTag) {
16762 downcast_call_tag<answerWebAppQuery> type_tag;
16763 func(type_tag);
16764 } else {
16765 func(static_cast<answerWebAppQuery &>(*obj));
16766 }
16767 return true;
16768 case applyPremiumGiftCode::ID:
16769 if constexpr (AllowTag) {
16770 downcast_call_tag<applyPremiumGiftCode> type_tag;
16771 func(type_tag);
16772 } else {
16773 func(static_cast<applyPremiumGiftCode &>(*obj));
16774 }
16775 return true;
16776 case approveSuggestedPost::ID:
16777 if constexpr (AllowTag) {
16778 downcast_call_tag<approveSuggestedPost> type_tag;
16779 func(type_tag);
16780 } else {
16781 func(static_cast<approveSuggestedPost &>(*obj));
16782 }
16783 return true;
16784 case assignStoreTransaction::ID:
16785 if constexpr (AllowTag) {
16786 downcast_call_tag<assignStoreTransaction> type_tag;
16787 func(type_tag);
16788 } else {
16789 func(static_cast<assignStoreTransaction &>(*obj));
16790 }
16791 return true;
16792 case banChatMember::ID:
16793 if constexpr (AllowTag) {
16794 downcast_call_tag<banChatMember> type_tag;
16795 func(type_tag);
16796 } else {
16797 func(static_cast<banChatMember &>(*obj));
16798 }
16799 return true;
16800 case banGroupCallParticipants::ID:
16801 if constexpr (AllowTag) {
16802 downcast_call_tag<banGroupCallParticipants> type_tag;
16803 func(type_tag);
16804 } else {
16805 func(static_cast<banGroupCallParticipants &>(*obj));
16806 }
16807 return true;
16808 case blockMessageSenderFromReplies::ID:
16809 if constexpr (AllowTag) {
16810 downcast_call_tag<blockMessageSenderFromReplies> type_tag;
16811 func(type_tag);
16812 } else {
16813 func(static_cast<blockMessageSenderFromReplies &>(*obj));
16814 }
16815 return true;
16816 case boostChat::ID:
16817 if constexpr (AllowTag) {
16818 downcast_call_tag<boostChat> type_tag;
16819 func(type_tag);
16820 } else {
16821 func(static_cast<boostChat &>(*obj));
16822 }
16823 return true;
16824 case buyGiftUpgrade::ID:
16825 if constexpr (AllowTag) {
16826 downcast_call_tag<buyGiftUpgrade> type_tag;
16827 func(type_tag);
16828 } else {
16829 func(static_cast<buyGiftUpgrade &>(*obj));
16830 }
16831 return true;
16832 case canBotSendMessages::ID:
16833 if constexpr (AllowTag) {
16834 downcast_call_tag<canBotSendMessages> type_tag;
16835 func(type_tag);
16836 } else {
16837 func(static_cast<canBotSendMessages &>(*obj));
16838 }
16839 return true;
16840 case canPostStory::ID:
16841 if constexpr (AllowTag) {
16842 downcast_call_tag<canPostStory> type_tag;
16843 func(type_tag);
16844 } else {
16845 func(static_cast<canPostStory &>(*obj));
16846 }
16847 return true;
16848 case canPurchaseFromStore::ID:
16849 if constexpr (AllowTag) {
16850 downcast_call_tag<canPurchaseFromStore> type_tag;
16851 func(type_tag);
16852 } else {
16853 func(static_cast<canPurchaseFromStore &>(*obj));
16854 }
16855 return true;
16856 case canSendGift::ID:
16857 if constexpr (AllowTag) {
16858 downcast_call_tag<canSendGift> type_tag;
16859 func(type_tag);
16860 } else {
16861 func(static_cast<canSendGift &>(*obj));
16862 }
16863 return true;
16864 case canSendMessageToUser::ID:
16865 if constexpr (AllowTag) {
16866 downcast_call_tag<canSendMessageToUser> type_tag;
16867 func(type_tag);
16868 } else {
16869 func(static_cast<canSendMessageToUser &>(*obj));
16870 }
16871 return true;
16872 case canTransferOwnership::ID:
16873 if constexpr (AllowTag) {
16874 downcast_call_tag<canTransferOwnership> type_tag;
16875 func(type_tag);
16876 } else {
16877 func(static_cast<canTransferOwnership &>(*obj));
16878 }
16879 return true;
16880 case cancelDownloadFile::ID:
16881 if constexpr (AllowTag) {
16882 downcast_call_tag<cancelDownloadFile> type_tag;
16883 func(type_tag);
16884 } else {
16885 func(static_cast<cancelDownloadFile &>(*obj));
16886 }
16887 return true;
16888 case cancelPasswordReset::ID:
16889 if constexpr (AllowTag) {
16890 downcast_call_tag<cancelPasswordReset> type_tag;
16891 func(type_tag);
16892 } else {
16893 func(static_cast<cancelPasswordReset &>(*obj));
16894 }
16895 return true;
16896 case cancelPreliminaryUploadFile::ID:
16897 if constexpr (AllowTag) {
16898 downcast_call_tag<cancelPreliminaryUploadFile> type_tag;
16899 func(type_tag);
16900 } else {
16901 func(static_cast<cancelPreliminaryUploadFile &>(*obj));
16902 }
16903 return true;
16904 case cancelRecoveryEmailAddressVerification::ID:
16905 if constexpr (AllowTag) {
16906 downcast_call_tag<cancelRecoveryEmailAddressVerification> type_tag;
16907 func(type_tag);
16908 } else {
16909 func(static_cast<cancelRecoveryEmailAddressVerification &>(*obj));
16910 }
16911 return true;
16912 case changeImportedContacts::ID:
16913 if constexpr (AllowTag) {
16914 downcast_call_tag<changeImportedContacts> type_tag;
16915 func(type_tag);
16916 } else {
16917 func(static_cast<changeImportedContacts &>(*obj));
16918 }
16919 return true;
16920 case changeStickerSet::ID:
16921 if constexpr (AllowTag) {
16922 downcast_call_tag<changeStickerSet> type_tag;
16923 func(type_tag);
16924 } else {
16925 func(static_cast<changeStickerSet &>(*obj));
16926 }
16927 return true;
16928 case checkAuthenticationBotToken::ID:
16929 if constexpr (AllowTag) {
16930 downcast_call_tag<checkAuthenticationBotToken> type_tag;
16931 func(type_tag);
16932 } else {
16933 func(static_cast<checkAuthenticationBotToken &>(*obj));
16934 }
16935 return true;
16936 case checkAuthenticationCode::ID:
16937 if constexpr (AllowTag) {
16938 downcast_call_tag<checkAuthenticationCode> type_tag;
16939 func(type_tag);
16940 } else {
16941 func(static_cast<checkAuthenticationCode &>(*obj));
16942 }
16943 return true;
16944 case checkAuthenticationEmailCode::ID:
16945 if constexpr (AllowTag) {
16946 downcast_call_tag<checkAuthenticationEmailCode> type_tag;
16947 func(type_tag);
16948 } else {
16949 func(static_cast<checkAuthenticationEmailCode &>(*obj));
16950 }
16951 return true;
16952 case checkAuthenticationPasskey::ID:
16953 if constexpr (AllowTag) {
16954 downcast_call_tag<checkAuthenticationPasskey> type_tag;
16955 func(type_tag);
16956 } else {
16957 func(static_cast<checkAuthenticationPasskey &>(*obj));
16958 }
16959 return true;
16960 case checkAuthenticationPassword::ID:
16961 if constexpr (AllowTag) {
16962 downcast_call_tag<checkAuthenticationPassword> type_tag;
16963 func(type_tag);
16964 } else {
16965 func(static_cast<checkAuthenticationPassword &>(*obj));
16966 }
16967 return true;
16968 case checkAuthenticationPasswordRecoveryCode::ID:
16969 if constexpr (AllowTag) {
16970 downcast_call_tag<checkAuthenticationPasswordRecoveryCode> type_tag;
16971 func(type_tag);
16972 } else {
16973 func(static_cast<checkAuthenticationPasswordRecoveryCode &>(*obj));
16974 }
16975 return true;
16976 case checkAuthenticationPremiumPurchase::ID:
16977 if constexpr (AllowTag) {
16978 downcast_call_tag<checkAuthenticationPremiumPurchase> type_tag;
16979 func(type_tag);
16980 } else {
16981 func(static_cast<checkAuthenticationPremiumPurchase &>(*obj));
16982 }
16983 return true;
16984 case checkBotUsername::ID:
16985 if constexpr (AllowTag) {
16986 downcast_call_tag<checkBotUsername> type_tag;
16987 func(type_tag);
16988 } else {
16989 func(static_cast<checkBotUsername &>(*obj));
16990 }
16991 return true;
16992 case checkChatFolderInviteLink::ID:
16993 if constexpr (AllowTag) {
16994 downcast_call_tag<checkChatFolderInviteLink> type_tag;
16995 func(type_tag);
16996 } else {
16997 func(static_cast<checkChatFolderInviteLink &>(*obj));
16998 }
16999 return true;
17000 case checkChatInviteLink::ID:
17001 if constexpr (AllowTag) {
17002 downcast_call_tag<checkChatInviteLink> type_tag;
17003 func(type_tag);
17004 } else {
17005 func(static_cast<checkChatInviteLink &>(*obj));
17006 }
17007 return true;
17008 case checkChatUsername::ID:
17009 if constexpr (AllowTag) {
17010 downcast_call_tag<checkChatUsername> type_tag;
17011 func(type_tag);
17012 } else {
17013 func(static_cast<checkChatUsername &>(*obj));
17014 }
17015 return true;
17016 case checkCreatedPublicChatsLimit::ID:
17017 if constexpr (AllowTag) {
17018 downcast_call_tag<checkCreatedPublicChatsLimit> type_tag;
17019 func(type_tag);
17020 } else {
17021 func(static_cast<checkCreatedPublicChatsLimit &>(*obj));
17022 }
17023 return true;
17024 case checkEmailAddressVerificationCode::ID:
17025 if constexpr (AllowTag) {
17026 downcast_call_tag<checkEmailAddressVerificationCode> type_tag;
17027 func(type_tag);
17028 } else {
17029 func(static_cast<checkEmailAddressVerificationCode &>(*obj));
17030 }
17031 return true;
17032 case checkLoginEmailAddressCode::ID:
17033 if constexpr (AllowTag) {
17034 downcast_call_tag<checkLoginEmailAddressCode> type_tag;
17035 func(type_tag);
17036 } else {
17037 func(static_cast<checkLoginEmailAddressCode &>(*obj));
17038 }
17039 return true;
17040 case checkOauthRequestMatchCode::ID:
17041 if constexpr (AllowTag) {
17042 downcast_call_tag<checkOauthRequestMatchCode> type_tag;
17043 func(type_tag);
17044 } else {
17045 func(static_cast<checkOauthRequestMatchCode &>(*obj));
17046 }
17047 return true;
17048 case checkPasswordRecoveryCode::ID:
17049 if constexpr (AllowTag) {
17050 downcast_call_tag<checkPasswordRecoveryCode> type_tag;
17051 func(type_tag);
17052 } else {
17053 func(static_cast<checkPasswordRecoveryCode &>(*obj));
17054 }
17055 return true;
17056 case checkPhoneNumberCode::ID:
17057 if constexpr (AllowTag) {
17058 downcast_call_tag<checkPhoneNumberCode> type_tag;
17059 func(type_tag);
17060 } else {
17061 func(static_cast<checkPhoneNumberCode &>(*obj));
17062 }
17063 return true;
17064 case checkPremiumGiftCode::ID:
17065 if constexpr (AllowTag) {
17066 downcast_call_tag<checkPremiumGiftCode> type_tag;
17067 func(type_tag);
17068 } else {
17069 func(static_cast<checkPremiumGiftCode &>(*obj));
17070 }
17071 return true;
17072 case checkQuickReplyShortcutName::ID:
17073 if constexpr (AllowTag) {
17074 downcast_call_tag<checkQuickReplyShortcutName> type_tag;
17075 func(type_tag);
17076 } else {
17077 func(static_cast<checkQuickReplyShortcutName &>(*obj));
17078 }
17079 return true;
17080 case checkRecoveryEmailAddressCode::ID:
17081 if constexpr (AllowTag) {
17082 downcast_call_tag<checkRecoveryEmailAddressCode> type_tag;
17083 func(type_tag);
17084 } else {
17085 func(static_cast<checkRecoveryEmailAddressCode &>(*obj));
17086 }
17087 return true;
17088 case checkStickerSetName::ID:
17089 if constexpr (AllowTag) {
17090 downcast_call_tag<checkStickerSetName> type_tag;
17091 func(type_tag);
17092 } else {
17093 func(static_cast<checkStickerSetName &>(*obj));
17094 }
17095 return true;
17096 case checkWebAppFileDownload::ID:
17097 if constexpr (AllowTag) {
17098 downcast_call_tag<checkWebAppFileDownload> type_tag;
17099 func(type_tag);
17100 } else {
17101 func(static_cast<checkWebAppFileDownload &>(*obj));
17102 }
17103 return true;
17104 case cleanFileName::ID:
17105 if constexpr (AllowTag) {
17106 downcast_call_tag<cleanFileName> type_tag;
17107 func(type_tag);
17108 } else {
17109 func(static_cast<cleanFileName &>(*obj));
17110 }
17111 return true;
17112 case clearAllDraftMessages::ID:
17113 if constexpr (AllowTag) {
17114 downcast_call_tag<clearAllDraftMessages> type_tag;
17115 func(type_tag);
17116 } else {
17117 func(static_cast<clearAllDraftMessages &>(*obj));
17118 }
17119 return true;
17120 case clearAutosaveSettingsExceptions::ID:
17121 if constexpr (AllowTag) {
17122 downcast_call_tag<clearAutosaveSettingsExceptions> type_tag;
17123 func(type_tag);
17124 } else {
17125 func(static_cast<clearAutosaveSettingsExceptions &>(*obj));
17126 }
17127 return true;
17128 case clearImportedContacts::ID:
17129 if constexpr (AllowTag) {
17130 downcast_call_tag<clearImportedContacts> type_tag;
17131 func(type_tag);
17132 } else {
17133 func(static_cast<clearImportedContacts &>(*obj));
17134 }
17135 return true;
17136 case clearRecentEmojiStatuses::ID:
17137 if constexpr (AllowTag) {
17138 downcast_call_tag<clearRecentEmojiStatuses> type_tag;
17139 func(type_tag);
17140 } else {
17141 func(static_cast<clearRecentEmojiStatuses &>(*obj));
17142 }
17143 return true;
17144 case clearRecentReactions::ID:
17145 if constexpr (AllowTag) {
17146 downcast_call_tag<clearRecentReactions> type_tag;
17147 func(type_tag);
17148 } else {
17149 func(static_cast<clearRecentReactions &>(*obj));
17150 }
17151 return true;
17152 case clearRecentStickers::ID:
17153 if constexpr (AllowTag) {
17154 downcast_call_tag<clearRecentStickers> type_tag;
17155 func(type_tag);
17156 } else {
17157 func(static_cast<clearRecentStickers &>(*obj));
17158 }
17159 return true;
17160 case clearRecentlyFoundChats::ID:
17161 if constexpr (AllowTag) {
17162 downcast_call_tag<clearRecentlyFoundChats> type_tag;
17163 func(type_tag);
17164 } else {
17165 func(static_cast<clearRecentlyFoundChats &>(*obj));
17166 }
17167 return true;
17168 case clearSearchedForTags::ID:
17169 if constexpr (AllowTag) {
17170 downcast_call_tag<clearSearchedForTags> type_tag;
17171 func(type_tag);
17172 } else {
17173 func(static_cast<clearSearchedForTags &>(*obj));
17174 }
17175 return true;
17176 case clickAnimatedEmojiMessage::ID:
17177 if constexpr (AllowTag) {
17178 downcast_call_tag<clickAnimatedEmojiMessage> type_tag;
17179 func(type_tag);
17180 } else {
17181 func(static_cast<clickAnimatedEmojiMessage &>(*obj));
17182 }
17183 return true;
17184 case clickChatSponsoredMessage::ID:
17185 if constexpr (AllowTag) {
17186 downcast_call_tag<clickChatSponsoredMessage> type_tag;
17187 func(type_tag);
17188 } else {
17189 func(static_cast<clickChatSponsoredMessage &>(*obj));
17190 }
17191 return true;
17192 case clickPremiumSubscriptionButton::ID:
17193 if constexpr (AllowTag) {
17194 downcast_call_tag<clickPremiumSubscriptionButton> type_tag;
17195 func(type_tag);
17196 } else {
17197 func(static_cast<clickPremiumSubscriptionButton &>(*obj));
17198 }
17199 return true;
17200 case clickVideoMessageAdvertisement::ID:
17201 if constexpr (AllowTag) {
17202 downcast_call_tag<clickVideoMessageAdvertisement> type_tag;
17203 func(type_tag);
17204 } else {
17205 func(static_cast<clickVideoMessageAdvertisement &>(*obj));
17206 }
17207 return true;
17208 case close::ID:
17209 if constexpr (AllowTag) {
17210 downcast_call_tag<close> type_tag;
17211 func(type_tag);
17212 } else {
17213 func(static_cast<close &>(*obj));
17214 }
17215 return true;
17216 case closeChat::ID:
17217 if constexpr (AllowTag) {
17218 downcast_call_tag<closeChat> type_tag;
17219 func(type_tag);
17220 } else {
17221 func(static_cast<closeChat &>(*obj));
17222 }
17223 return true;
17224 case closeGiftAuction::ID:
17225 if constexpr (AllowTag) {
17226 downcast_call_tag<closeGiftAuction> type_tag;
17227 func(type_tag);
17228 } else {
17229 func(static_cast<closeGiftAuction &>(*obj));
17230 }
17231 return true;
17232 case closeSecretChat::ID:
17233 if constexpr (AllowTag) {
17234 downcast_call_tag<closeSecretChat> type_tag;
17235 func(type_tag);
17236 } else {
17237 func(static_cast<closeSecretChat &>(*obj));
17238 }
17239 return true;
17240 case closeStory::ID:
17241 if constexpr (AllowTag) {
17242 downcast_call_tag<closeStory> type_tag;
17243 func(type_tag);
17244 } else {
17245 func(static_cast<closeStory &>(*obj));
17246 }
17247 return true;
17248 case closeWebApp::ID:
17249 if constexpr (AllowTag) {
17250 downcast_call_tag<closeWebApp> type_tag;
17251 func(type_tag);
17252 } else {
17253 func(static_cast<closeWebApp &>(*obj));
17254 }
17255 return true;
17256 case commitPendingLiveStoryReactions::ID:
17257 if constexpr (AllowTag) {
17258 downcast_call_tag<commitPendingLiveStoryReactions> type_tag;
17259 func(type_tag);
17260 } else {
17261 func(static_cast<commitPendingLiveStoryReactions &>(*obj));
17262 }
17263 return true;
17264 case commitPendingPaidMessageReactions::ID:
17265 if constexpr (AllowTag) {
17266 downcast_call_tag<commitPendingPaidMessageReactions> type_tag;
17267 func(type_tag);
17268 } else {
17269 func(static_cast<commitPendingPaidMessageReactions &>(*obj));
17270 }
17271 return true;
17272 case composeTextWithAi::ID:
17273 if constexpr (AllowTag) {
17274 downcast_call_tag<composeTextWithAi> type_tag;
17275 func(type_tag);
17276 } else {
17277 func(static_cast<composeTextWithAi &>(*obj));
17278 }
17279 return true;
17280 case confirmQrCodeAuthentication::ID:
17281 if constexpr (AllowTag) {
17282 downcast_call_tag<confirmQrCodeAuthentication> type_tag;
17283 func(type_tag);
17284 } else {
17285 func(static_cast<confirmQrCodeAuthentication &>(*obj));
17286 }
17287 return true;
17288 case confirmSession::ID:
17289 if constexpr (AllowTag) {
17290 downcast_call_tag<confirmSession> type_tag;
17291 func(type_tag);
17292 } else {
17293 func(static_cast<confirmSession &>(*obj));
17294 }
17295 return true;
17296 case connectAffiliateProgram::ID:
17297 if constexpr (AllowTag) {
17298 downcast_call_tag<connectAffiliateProgram> type_tag;
17299 func(type_tag);
17300 } else {
17301 func(static_cast<connectAffiliateProgram &>(*obj));
17302 }
17303 return true;
17304 case craftGift::ID:
17305 if constexpr (AllowTag) {
17306 downcast_call_tag<craftGift> type_tag;
17307 func(type_tag);
17308 } else {
17309 func(static_cast<craftGift &>(*obj));
17310 }
17311 return true;
17312 case createBasicGroupChat::ID:
17313 if constexpr (AllowTag) {
17314 downcast_call_tag<createBasicGroupChat> type_tag;
17315 func(type_tag);
17316 } else {
17317 func(static_cast<createBasicGroupChat &>(*obj));
17318 }
17319 return true;
17320 case createBot::ID:
17321 if constexpr (AllowTag) {
17322 downcast_call_tag<createBot> type_tag;
17323 func(type_tag);
17324 } else {
17325 func(static_cast<createBot &>(*obj));
17326 }
17327 return true;
17328 case createBusinessChatLink::ID:
17329 if constexpr (AllowTag) {
17330 downcast_call_tag<createBusinessChatLink> type_tag;
17331 func(type_tag);
17332 } else {
17333 func(static_cast<createBusinessChatLink &>(*obj));
17334 }
17335 return true;
17336 case createCall::ID:
17337 if constexpr (AllowTag) {
17338 downcast_call_tag<createCall> type_tag;
17339 func(type_tag);
17340 } else {
17341 func(static_cast<createCall &>(*obj));
17342 }
17343 return true;
17344 case createChatFolder::ID:
17345 if constexpr (AllowTag) {
17346 downcast_call_tag<createChatFolder> type_tag;
17347 func(type_tag);
17348 } else {
17349 func(static_cast<createChatFolder &>(*obj));
17350 }
17351 return true;
17352 case createChatFolderInviteLink::ID:
17353 if constexpr (AllowTag) {
17354 downcast_call_tag<createChatFolderInviteLink> type_tag;
17355 func(type_tag);
17356 } else {
17357 func(static_cast<createChatFolderInviteLink &>(*obj));
17358 }
17359 return true;
17360 case createChatInviteLink::ID:
17361 if constexpr (AllowTag) {
17362 downcast_call_tag<createChatInviteLink> type_tag;
17363 func(type_tag);
17364 } else {
17365 func(static_cast<createChatInviteLink &>(*obj));
17366 }
17367 return true;
17368 case createChatSubscriptionInviteLink::ID:
17369 if constexpr (AllowTag) {
17370 downcast_call_tag<createChatSubscriptionInviteLink> type_tag;
17371 func(type_tag);
17372 } else {
17373 func(static_cast<createChatSubscriptionInviteLink &>(*obj));
17374 }
17375 return true;
17376 case createForumTopic::ID:
17377 if constexpr (AllowTag) {
17378 downcast_call_tag<createForumTopic> type_tag;
17379 func(type_tag);
17380 } else {
17381 func(static_cast<createForumTopic &>(*obj));
17382 }
17383 return true;
17384 case createGiftCollection::ID:
17385 if constexpr (AllowTag) {
17386 downcast_call_tag<createGiftCollection> type_tag;
17387 func(type_tag);
17388 } else {
17389 func(static_cast<createGiftCollection &>(*obj));
17390 }
17391 return true;
17392 case createGroupCall::ID:
17393 if constexpr (AllowTag) {
17394 downcast_call_tag<createGroupCall> type_tag;
17395 func(type_tag);
17396 } else {
17397 func(static_cast<createGroupCall &>(*obj));
17398 }
17399 return true;
17400 case createInvoiceLink::ID:
17401 if constexpr (AllowTag) {
17402 downcast_call_tag<createInvoiceLink> type_tag;
17403 func(type_tag);
17404 } else {
17405 func(static_cast<createInvoiceLink &>(*obj));
17406 }
17407 return true;
17408 case createNewBasicGroupChat::ID:
17409 if constexpr (AllowTag) {
17410 downcast_call_tag<createNewBasicGroupChat> type_tag;
17411 func(type_tag);
17412 } else {
17413 func(static_cast<createNewBasicGroupChat &>(*obj));
17414 }
17415 return true;
17416 case createNewSecretChat::ID:
17417 if constexpr (AllowTag) {
17418 downcast_call_tag<createNewSecretChat> type_tag;
17419 func(type_tag);
17420 } else {
17421 func(static_cast<createNewSecretChat &>(*obj));
17422 }
17423 return true;
17424 case createNewStickerSet::ID:
17425 if constexpr (AllowTag) {
17426 downcast_call_tag<createNewStickerSet> type_tag;
17427 func(type_tag);
17428 } else {
17429 func(static_cast<createNewStickerSet &>(*obj));
17430 }
17431 return true;
17432 case createNewSupergroupChat::ID:
17433 if constexpr (AllowTag) {
17434 downcast_call_tag<createNewSupergroupChat> type_tag;
17435 func(type_tag);
17436 } else {
17437 func(static_cast<createNewSupergroupChat &>(*obj));
17438 }
17439 return true;
17440 case createPrivateChat::ID:
17441 if constexpr (AllowTag) {
17442 downcast_call_tag<createPrivateChat> type_tag;
17443 func(type_tag);
17444 } else {
17445 func(static_cast<createPrivateChat &>(*obj));
17446 }
17447 return true;
17448 case createSecretChat::ID:
17449 if constexpr (AllowTag) {
17450 downcast_call_tag<createSecretChat> type_tag;
17451 func(type_tag);
17452 } else {
17453 func(static_cast<createSecretChat &>(*obj));
17454 }
17455 return true;
17456 case createStoryAlbum::ID:
17457 if constexpr (AllowTag) {
17458 downcast_call_tag<createStoryAlbum> type_tag;
17459 func(type_tag);
17460 } else {
17461 func(static_cast<createStoryAlbum &>(*obj));
17462 }
17463 return true;
17464 case createSupergroupChat::ID:
17465 if constexpr (AllowTag) {
17466 downcast_call_tag<createSupergroupChat> type_tag;
17467 func(type_tag);
17468 } else {
17469 func(static_cast<createSupergroupChat &>(*obj));
17470 }
17471 return true;
17472 case createTemporaryPassword::ID:
17473 if constexpr (AllowTag) {
17474 downcast_call_tag<createTemporaryPassword> type_tag;
17475 func(type_tag);
17476 } else {
17477 func(static_cast<createTemporaryPassword &>(*obj));
17478 }
17479 return true;
17480 case createVideoChat::ID:
17481 if constexpr (AllowTag) {
17482 downcast_call_tag<createVideoChat> type_tag;
17483 func(type_tag);
17484 } else {
17485 func(static_cast<createVideoChat &>(*obj));
17486 }
17487 return true;
17488 case declineGroupCallInvitation::ID:
17489 if constexpr (AllowTag) {
17490 downcast_call_tag<declineGroupCallInvitation> type_tag;
17491 func(type_tag);
17492 } else {
17493 func(static_cast<declineGroupCallInvitation &>(*obj));
17494 }
17495 return true;
17496 case declineOauthRequest::ID:
17497 if constexpr (AllowTag) {
17498 downcast_call_tag<declineOauthRequest> type_tag;
17499 func(type_tag);
17500 } else {
17501 func(static_cast<declineOauthRequest &>(*obj));
17502 }
17503 return true;
17504 case declineSuggestedPost::ID:
17505 if constexpr (AllowTag) {
17506 downcast_call_tag<declineSuggestedPost> type_tag;
17507 func(type_tag);
17508 } else {
17509 func(static_cast<declineSuggestedPost &>(*obj));
17510 }
17511 return true;
17512 case decryptGroupCallData::ID:
17513 if constexpr (AllowTag) {
17514 downcast_call_tag<decryptGroupCallData> type_tag;
17515 func(type_tag);
17516 } else {
17517 func(static_cast<decryptGroupCallData &>(*obj));
17518 }
17519 return true;
17520 case deleteAccount::ID:
17521 if constexpr (AllowTag) {
17522 downcast_call_tag<deleteAccount> type_tag;
17523 func(type_tag);
17524 } else {
17525 func(static_cast<deleteAccount &>(*obj));
17526 }
17527 return true;
17528 case deleteAllCallMessages::ID:
17529 if constexpr (AllowTag) {
17530 downcast_call_tag<deleteAllCallMessages> type_tag;
17531 func(type_tag);
17532 } else {
17533 func(static_cast<deleteAllCallMessages &>(*obj));
17534 }
17535 return true;
17536 case deleteAllRevokedChatInviteLinks::ID:
17537 if constexpr (AllowTag) {
17538 downcast_call_tag<deleteAllRevokedChatInviteLinks> type_tag;
17539 func(type_tag);
17540 } else {
17541 func(static_cast<deleteAllRevokedChatInviteLinks &>(*obj));
17542 }
17543 return true;
17544 case deleteBotMediaPreviews::ID:
17545 if constexpr (AllowTag) {
17546 downcast_call_tag<deleteBotMediaPreviews> type_tag;
17547 func(type_tag);
17548 } else {
17549 func(static_cast<deleteBotMediaPreviews &>(*obj));
17550 }
17551 return true;
17552 case deleteBusinessChatLink::ID:
17553 if constexpr (AllowTag) {
17554 downcast_call_tag<deleteBusinessChatLink> type_tag;
17555 func(type_tag);
17556 } else {
17557 func(static_cast<deleteBusinessChatLink &>(*obj));
17558 }
17559 return true;
17560 case deleteBusinessConnectedBot::ID:
17561 if constexpr (AllowTag) {
17562 downcast_call_tag<deleteBusinessConnectedBot> type_tag;
17563 func(type_tag);
17564 } else {
17565 func(static_cast<deleteBusinessConnectedBot &>(*obj));
17566 }
17567 return true;
17568 case deleteBusinessMessages::ID:
17569 if constexpr (AllowTag) {
17570 downcast_call_tag<deleteBusinessMessages> type_tag;
17571 func(type_tag);
17572 } else {
17573 func(static_cast<deleteBusinessMessages &>(*obj));
17574 }
17575 return true;
17576 case deleteBusinessStory::ID:
17577 if constexpr (AllowTag) {
17578 downcast_call_tag<deleteBusinessStory> type_tag;
17579 func(type_tag);
17580 } else {
17581 func(static_cast<deleteBusinessStory &>(*obj));
17582 }
17583 return true;
17584 case deleteChat::ID:
17585 if constexpr (AllowTag) {
17586 downcast_call_tag<deleteChat> type_tag;
17587 func(type_tag);
17588 } else {
17589 func(static_cast<deleteChat &>(*obj));
17590 }
17591 return true;
17592 case deleteChatBackground::ID:
17593 if constexpr (AllowTag) {
17594 downcast_call_tag<deleteChatBackground> type_tag;
17595 func(type_tag);
17596 } else {
17597 func(static_cast<deleteChatBackground &>(*obj));
17598 }
17599 return true;
17600 case deleteChatFolder::ID:
17601 if constexpr (AllowTag) {
17602 downcast_call_tag<deleteChatFolder> type_tag;
17603 func(type_tag);
17604 } else {
17605 func(static_cast<deleteChatFolder &>(*obj));
17606 }
17607 return true;
17608 case deleteChatFolderInviteLink::ID:
17609 if constexpr (AllowTag) {
17610 downcast_call_tag<deleteChatFolderInviteLink> type_tag;
17611 func(type_tag);
17612 } else {
17613 func(static_cast<deleteChatFolderInviteLink &>(*obj));
17614 }
17615 return true;
17616 case deleteChatHistory::ID:
17617 if constexpr (AllowTag) {
17618 downcast_call_tag<deleteChatHistory> type_tag;
17619 func(type_tag);
17620 } else {
17621 func(static_cast<deleteChatHistory &>(*obj));
17622 }
17623 return true;
17624 case deleteChatMessagesByDate::ID:
17625 if constexpr (AllowTag) {
17626 downcast_call_tag<deleteChatMessagesByDate> type_tag;
17627 func(type_tag);
17628 } else {
17629 func(static_cast<deleteChatMessagesByDate &>(*obj));
17630 }
17631 return true;
17632 case deleteChatMessagesBySender::ID:
17633 if constexpr (AllowTag) {
17634 downcast_call_tag<deleteChatMessagesBySender> type_tag;
17635 func(type_tag);
17636 } else {
17637 func(static_cast<deleteChatMessagesBySender &>(*obj));
17638 }
17639 return true;
17640 case deleteChatReplyMarkup::ID:
17641 if constexpr (AllowTag) {
17642 downcast_call_tag<deleteChatReplyMarkup> type_tag;
17643 func(type_tag);
17644 } else {
17645 func(static_cast<deleteChatReplyMarkup &>(*obj));
17646 }
17647 return true;
17648 case deleteCommands::ID:
17649 if constexpr (AllowTag) {
17650 downcast_call_tag<deleteCommands> type_tag;
17651 func(type_tag);
17652 } else {
17653 func(static_cast<deleteCommands &>(*obj));
17654 }
17655 return true;
17656 case deleteDefaultBackground::ID:
17657 if constexpr (AllowTag) {
17658 downcast_call_tag<deleteDefaultBackground> type_tag;
17659 func(type_tag);
17660 } else {
17661 func(static_cast<deleteDefaultBackground &>(*obj));
17662 }
17663 return true;
17664 case deleteDirectMessagesChatTopicHistory::ID:
17665 if constexpr (AllowTag) {
17666 downcast_call_tag<deleteDirectMessagesChatTopicHistory> type_tag;
17667 func(type_tag);
17668 } else {
17669 func(static_cast<deleteDirectMessagesChatTopicHistory &>(*obj));
17670 }
17671 return true;
17672 case deleteDirectMessagesChatTopicMessagesByDate::ID:
17673 if constexpr (AllowTag) {
17674 downcast_call_tag<deleteDirectMessagesChatTopicMessagesByDate> type_tag;
17675 func(type_tag);
17676 } else {
17677 func(static_cast<deleteDirectMessagesChatTopicMessagesByDate &>(*obj));
17678 }
17679 return true;
17680 case deleteFile::ID:
17681 if constexpr (AllowTag) {
17682 downcast_call_tag<deleteFile> type_tag;
17683 func(type_tag);
17684 } else {
17685 func(static_cast<deleteFile &>(*obj));
17686 }
17687 return true;
17688 case deleteForumTopic::ID:
17689 if constexpr (AllowTag) {
17690 downcast_call_tag<deleteForumTopic> type_tag;
17691 func(type_tag);
17692 } else {
17693 func(static_cast<deleteForumTopic &>(*obj));
17694 }
17695 return true;
17696 case deleteGiftCollection::ID:
17697 if constexpr (AllowTag) {
17698 downcast_call_tag<deleteGiftCollection> type_tag;
17699 func(type_tag);
17700 } else {
17701 func(static_cast<deleteGiftCollection &>(*obj));
17702 }
17703 return true;
17704 case deleteGroupCallMessages::ID:
17705 if constexpr (AllowTag) {
17706 downcast_call_tag<deleteGroupCallMessages> type_tag;
17707 func(type_tag);
17708 } else {
17709 func(static_cast<deleteGroupCallMessages &>(*obj));
17710 }
17711 return true;
17712 case deleteGroupCallMessagesBySender::ID:
17713 if constexpr (AllowTag) {
17714 downcast_call_tag<deleteGroupCallMessagesBySender> type_tag;
17715 func(type_tag);
17716 } else {
17717 func(static_cast<deleteGroupCallMessagesBySender &>(*obj));
17718 }
17719 return true;
17720 case deleteLanguagePack::ID:
17721 if constexpr (AllowTag) {
17722 downcast_call_tag<deleteLanguagePack> type_tag;
17723 func(type_tag);
17724 } else {
17725 func(static_cast<deleteLanguagePack &>(*obj));
17726 }
17727 return true;
17728 case deleteMessages::ID:
17729 if constexpr (AllowTag) {
17730 downcast_call_tag<deleteMessages> type_tag;
17731 func(type_tag);
17732 } else {
17733 func(static_cast<deleteMessages &>(*obj));
17734 }
17735 return true;
17736 case deletePassportElement::ID:
17737 if constexpr (AllowTag) {
17738 downcast_call_tag<deletePassportElement> type_tag;
17739 func(type_tag);
17740 } else {
17741 func(static_cast<deletePassportElement &>(*obj));
17742 }
17743 return true;
17744 case deletePollOption::ID:
17745 if constexpr (AllowTag) {
17746 downcast_call_tag<deletePollOption> type_tag;
17747 func(type_tag);
17748 } else {
17749 func(static_cast<deletePollOption &>(*obj));
17750 }
17751 return true;
17752 case deleteProfilePhoto::ID:
17753 if constexpr (AllowTag) {
17754 downcast_call_tag<deleteProfilePhoto> type_tag;
17755 func(type_tag);
17756 } else {
17757 func(static_cast<deleteProfilePhoto &>(*obj));
17758 }
17759 return true;
17760 case deleteQuickReplyShortcut::ID:
17761 if constexpr (AllowTag) {
17762 downcast_call_tag<deleteQuickReplyShortcut> type_tag;
17763 func(type_tag);
17764 } else {
17765 func(static_cast<deleteQuickReplyShortcut &>(*obj));
17766 }
17767 return true;
17768 case deleteQuickReplyShortcutMessages::ID:
17769 if constexpr (AllowTag) {
17770 downcast_call_tag<deleteQuickReplyShortcutMessages> type_tag;
17771 func(type_tag);
17772 } else {
17773 func(static_cast<deleteQuickReplyShortcutMessages &>(*obj));
17774 }
17775 return true;
17776 case deleteRevokedChatInviteLink::ID:
17777 if constexpr (AllowTag) {
17778 downcast_call_tag<deleteRevokedChatInviteLink> type_tag;
17779 func(type_tag);
17780 } else {
17781 func(static_cast<deleteRevokedChatInviteLink &>(*obj));
17782 }
17783 return true;
17784 case deleteSavedCredentials::ID:
17785 if constexpr (AllowTag) {
17786 downcast_call_tag<deleteSavedCredentials> type_tag;
17787 func(type_tag);
17788 } else {
17789 func(static_cast<deleteSavedCredentials &>(*obj));
17790 }
17791 return true;
17792 case deleteSavedMessagesTopicHistory::ID:
17793 if constexpr (AllowTag) {
17794 downcast_call_tag<deleteSavedMessagesTopicHistory> type_tag;
17795 func(type_tag);
17796 } else {
17797 func(static_cast<deleteSavedMessagesTopicHistory &>(*obj));
17798 }
17799 return true;
17800 case deleteSavedMessagesTopicMessagesByDate::ID:
17801 if constexpr (AllowTag) {
17802 downcast_call_tag<deleteSavedMessagesTopicMessagesByDate> type_tag;
17803 func(type_tag);
17804 } else {
17805 func(static_cast<deleteSavedMessagesTopicMessagesByDate &>(*obj));
17806 }
17807 return true;
17808 case deleteSavedOrderInfo::ID:
17809 if constexpr (AllowTag) {
17810 downcast_call_tag<deleteSavedOrderInfo> type_tag;
17811 func(type_tag);
17812 } else {
17813 func(static_cast<deleteSavedOrderInfo &>(*obj));
17814 }
17815 return true;
17816 case deleteStickerSet::ID:
17817 if constexpr (AllowTag) {
17818 downcast_call_tag<deleteStickerSet> type_tag;
17819 func(type_tag);
17820 } else {
17821 func(static_cast<deleteStickerSet &>(*obj));
17822 }
17823 return true;
17824 case deleteStory::ID:
17825 if constexpr (AllowTag) {
17826 downcast_call_tag<deleteStory> type_tag;
17827 func(type_tag);
17828 } else {
17829 func(static_cast<deleteStory &>(*obj));
17830 }
17831 return true;
17832 case deleteStoryAlbum::ID:
17833 if constexpr (AllowTag) {
17834 downcast_call_tag<deleteStoryAlbum> type_tag;
17835 func(type_tag);
17836 } else {
17837 func(static_cast<deleteStoryAlbum &>(*obj));
17838 }
17839 return true;
17840 case destroy::ID:
17841 if constexpr (AllowTag) {
17842 downcast_call_tag<destroy> type_tag;
17843 func(type_tag);
17844 } else {
17845 func(static_cast<destroy &>(*obj));
17846 }
17847 return true;
17848 case disableAllSupergroupUsernames::ID:
17849 if constexpr (AllowTag) {
17850 downcast_call_tag<disableAllSupergroupUsernames> type_tag;
17851 func(type_tag);
17852 } else {
17853 func(static_cast<disableAllSupergroupUsernames &>(*obj));
17854 }
17855 return true;
17856 case disableProxy::ID:
17857 if constexpr (AllowTag) {
17858 downcast_call_tag<disableProxy> type_tag;
17859 func(type_tag);
17860 } else {
17861 func(static_cast<disableProxy &>(*obj));
17862 }
17863 return true;
17864 case discardCall::ID:
17865 if constexpr (AllowTag) {
17866 downcast_call_tag<discardCall> type_tag;
17867 func(type_tag);
17868 } else {
17869 func(static_cast<discardCall &>(*obj));
17870 }
17871 return true;
17872 case disconnectAffiliateProgram::ID:
17873 if constexpr (AllowTag) {
17874 downcast_call_tag<disconnectAffiliateProgram> type_tag;
17875 func(type_tag);
17876 } else {
17877 func(static_cast<disconnectAffiliateProgram &>(*obj));
17878 }
17879 return true;
17880 case disconnectAllWebsites::ID:
17881 if constexpr (AllowTag) {
17882 downcast_call_tag<disconnectAllWebsites> type_tag;
17883 func(type_tag);
17884 } else {
17885 func(static_cast<disconnectAllWebsites &>(*obj));
17886 }
17887 return true;
17888 case disconnectWebsite::ID:
17889 if constexpr (AllowTag) {
17890 downcast_call_tag<disconnectWebsite> type_tag;
17891 func(type_tag);
17892 } else {
17893 func(static_cast<disconnectWebsite &>(*obj));
17894 }
17895 return true;
17896 case downloadFile::ID:
17897 if constexpr (AllowTag) {
17898 downcast_call_tag<downloadFile> type_tag;
17899 func(type_tag);
17900 } else {
17901 func(static_cast<downloadFile &>(*obj));
17902 }
17903 return true;
17904 case dropGiftOriginalDetails::ID:
17905 if constexpr (AllowTag) {
17906 downcast_call_tag<dropGiftOriginalDetails> type_tag;
17907 func(type_tag);
17908 } else {
17909 func(static_cast<dropGiftOriginalDetails &>(*obj));
17910 }
17911 return true;
17912 case editBotMediaPreview::ID:
17913 if constexpr (AllowTag) {
17914 downcast_call_tag<editBotMediaPreview> type_tag;
17915 func(type_tag);
17916 } else {
17917 func(static_cast<editBotMediaPreview &>(*obj));
17918 }
17919 return true;
17920 case editBusinessChatLink::ID:
17921 if constexpr (AllowTag) {
17922 downcast_call_tag<editBusinessChatLink> type_tag;
17923 func(type_tag);
17924 } else {
17925 func(static_cast<editBusinessChatLink &>(*obj));
17926 }
17927 return true;
17928 case editBusinessMessageCaption::ID:
17929 if constexpr (AllowTag) {
17930 downcast_call_tag<editBusinessMessageCaption> type_tag;
17931 func(type_tag);
17932 } else {
17933 func(static_cast<editBusinessMessageCaption &>(*obj));
17934 }
17935 return true;
17936 case editBusinessMessageChecklist::ID:
17937 if constexpr (AllowTag) {
17938 downcast_call_tag<editBusinessMessageChecklist> type_tag;
17939 func(type_tag);
17940 } else {
17941 func(static_cast<editBusinessMessageChecklist &>(*obj));
17942 }
17943 return true;
17944 case editBusinessMessageLiveLocation::ID:
17945 if constexpr (AllowTag) {
17946 downcast_call_tag<editBusinessMessageLiveLocation> type_tag;
17947 func(type_tag);
17948 } else {
17949 func(static_cast<editBusinessMessageLiveLocation &>(*obj));
17950 }
17951 return true;
17952 case editBusinessMessageMedia::ID:
17953 if constexpr (AllowTag) {
17954 downcast_call_tag<editBusinessMessageMedia> type_tag;
17955 func(type_tag);
17956 } else {
17957 func(static_cast<editBusinessMessageMedia &>(*obj));
17958 }
17959 return true;
17960 case editBusinessMessageReplyMarkup::ID:
17961 if constexpr (AllowTag) {
17962 downcast_call_tag<editBusinessMessageReplyMarkup> type_tag;
17963 func(type_tag);
17964 } else {
17965 func(static_cast<editBusinessMessageReplyMarkup &>(*obj));
17966 }
17967 return true;
17968 case editBusinessMessageText::ID:
17969 if constexpr (AllowTag) {
17970 downcast_call_tag<editBusinessMessageText> type_tag;
17971 func(type_tag);
17972 } else {
17973 func(static_cast<editBusinessMessageText &>(*obj));
17974 }
17975 return true;
17976 case editBusinessStory::ID:
17977 if constexpr (AllowTag) {
17978 downcast_call_tag<editBusinessStory> type_tag;
17979 func(type_tag);
17980 } else {
17981 func(static_cast<editBusinessStory &>(*obj));
17982 }
17983 return true;
17984 case editChatFolder::ID:
17985 if constexpr (AllowTag) {
17986 downcast_call_tag<editChatFolder> type_tag;
17987 func(type_tag);
17988 } else {
17989 func(static_cast<editChatFolder &>(*obj));
17990 }
17991 return true;
17992 case editChatFolderInviteLink::ID:
17993 if constexpr (AllowTag) {
17994 downcast_call_tag<editChatFolderInviteLink> type_tag;
17995 func(type_tag);
17996 } else {
17997 func(static_cast<editChatFolderInviteLink &>(*obj));
17998 }
17999 return true;
18000 case editChatInviteLink::ID:
18001 if constexpr (AllowTag) {
18002 downcast_call_tag<editChatInviteLink> type_tag;
18003 func(type_tag);
18004 } else {
18005 func(static_cast<editChatInviteLink &>(*obj));
18006 }
18007 return true;
18008 case editChatSubscriptionInviteLink::ID:
18009 if constexpr (AllowTag) {
18010 downcast_call_tag<editChatSubscriptionInviteLink> type_tag;
18011 func(type_tag);
18012 } else {
18013 func(static_cast<editChatSubscriptionInviteLink &>(*obj));
18014 }
18015 return true;
18016 case editCustomLanguagePackInfo::ID:
18017 if constexpr (AllowTag) {
18018 downcast_call_tag<editCustomLanguagePackInfo> type_tag;
18019 func(type_tag);
18020 } else {
18021 func(static_cast<editCustomLanguagePackInfo &>(*obj));
18022 }
18023 return true;
18024 case editForumTopic::ID:
18025 if constexpr (AllowTag) {
18026 downcast_call_tag<editForumTopic> type_tag;
18027 func(type_tag);
18028 } else {
18029 func(static_cast<editForumTopic &>(*obj));
18030 }
18031 return true;
18032 case editInlineMessageCaption::ID:
18033 if constexpr (AllowTag) {
18034 downcast_call_tag<editInlineMessageCaption> type_tag;
18035 func(type_tag);
18036 } else {
18037 func(static_cast<editInlineMessageCaption &>(*obj));
18038 }
18039 return true;
18040 case editInlineMessageLiveLocation::ID:
18041 if constexpr (AllowTag) {
18042 downcast_call_tag<editInlineMessageLiveLocation> type_tag;
18043 func(type_tag);
18044 } else {
18045 func(static_cast<editInlineMessageLiveLocation &>(*obj));
18046 }
18047 return true;
18048 case editInlineMessageMedia::ID:
18049 if constexpr (AllowTag) {
18050 downcast_call_tag<editInlineMessageMedia> type_tag;
18051 func(type_tag);
18052 } else {
18053 func(static_cast<editInlineMessageMedia &>(*obj));
18054 }
18055 return true;
18056 case editInlineMessageReplyMarkup::ID:
18057 if constexpr (AllowTag) {
18058 downcast_call_tag<editInlineMessageReplyMarkup> type_tag;
18059 func(type_tag);
18060 } else {
18061 func(static_cast<editInlineMessageReplyMarkup &>(*obj));
18062 }
18063 return true;
18064 case editInlineMessageText::ID:
18065 if constexpr (AllowTag) {
18066 downcast_call_tag<editInlineMessageText> type_tag;
18067 func(type_tag);
18068 } else {
18069 func(static_cast<editInlineMessageText &>(*obj));
18070 }
18071 return true;
18072 case editMessageCaption::ID:
18073 if constexpr (AllowTag) {
18074 downcast_call_tag<editMessageCaption> type_tag;
18075 func(type_tag);
18076 } else {
18077 func(static_cast<editMessageCaption &>(*obj));
18078 }
18079 return true;
18080 case editMessageChecklist::ID:
18081 if constexpr (AllowTag) {
18082 downcast_call_tag<editMessageChecklist> type_tag;
18083 func(type_tag);
18084 } else {
18085 func(static_cast<editMessageChecklist &>(*obj));
18086 }
18087 return true;
18088 case editMessageLiveLocation::ID:
18089 if constexpr (AllowTag) {
18090 downcast_call_tag<editMessageLiveLocation> type_tag;
18091 func(type_tag);
18092 } else {
18093 func(static_cast<editMessageLiveLocation &>(*obj));
18094 }
18095 return true;
18096 case editMessageMedia::ID:
18097 if constexpr (AllowTag) {
18098 downcast_call_tag<editMessageMedia> type_tag;
18099 func(type_tag);
18100 } else {
18101 func(static_cast<editMessageMedia &>(*obj));
18102 }
18103 return true;
18104 case editMessageReplyMarkup::ID:
18105 if constexpr (AllowTag) {
18106 downcast_call_tag<editMessageReplyMarkup> type_tag;
18107 func(type_tag);
18108 } else {
18109 func(static_cast<editMessageReplyMarkup &>(*obj));
18110 }
18111 return true;
18112 case editMessageSchedulingState::ID:
18113 if constexpr (AllowTag) {
18114 downcast_call_tag<editMessageSchedulingState> type_tag;
18115 func(type_tag);
18116 } else {
18117 func(static_cast<editMessageSchedulingState &>(*obj));
18118 }
18119 return true;
18120 case editMessageText::ID:
18121 if constexpr (AllowTag) {
18122 downcast_call_tag<editMessageText> type_tag;
18123 func(type_tag);
18124 } else {
18125 func(static_cast<editMessageText &>(*obj));
18126 }
18127 return true;
18128 case editProxy::ID:
18129 if constexpr (AllowTag) {
18130 downcast_call_tag<editProxy> type_tag;
18131 func(type_tag);
18132 } else {
18133 func(static_cast<editProxy &>(*obj));
18134 }
18135 return true;
18136 case editQuickReplyMessage::ID:
18137 if constexpr (AllowTag) {
18138 downcast_call_tag<editQuickReplyMessage> type_tag;
18139 func(type_tag);
18140 } else {
18141 func(static_cast<editQuickReplyMessage &>(*obj));
18142 }
18143 return true;
18144 case editStarSubscription::ID:
18145 if constexpr (AllowTag) {
18146 downcast_call_tag<editStarSubscription> type_tag;
18147 func(type_tag);
18148 } else {
18149 func(static_cast<editStarSubscription &>(*obj));
18150 }
18151 return true;
18152 case editStory::ID:
18153 if constexpr (AllowTag) {
18154 downcast_call_tag<editStory> type_tag;
18155 func(type_tag);
18156 } else {
18157 func(static_cast<editStory &>(*obj));
18158 }
18159 return true;
18160 case editStoryCover::ID:
18161 if constexpr (AllowTag) {
18162 downcast_call_tag<editStoryCover> type_tag;
18163 func(type_tag);
18164 } else {
18165 func(static_cast<editStoryCover &>(*obj));
18166 }
18167 return true;
18168 case editUserStarSubscription::ID:
18169 if constexpr (AllowTag) {
18170 downcast_call_tag<editUserStarSubscription> type_tag;
18171 func(type_tag);
18172 } else {
18173 func(static_cast<editUserStarSubscription &>(*obj));
18174 }
18175 return true;
18176 case enableProxy::ID:
18177 if constexpr (AllowTag) {
18178 downcast_call_tag<enableProxy> type_tag;
18179 func(type_tag);
18180 } else {
18181 func(static_cast<enableProxy &>(*obj));
18182 }
18183 return true;
18184 case encryptGroupCallData::ID:
18185 if constexpr (AllowTag) {
18186 downcast_call_tag<encryptGroupCallData> type_tag;
18187 func(type_tag);
18188 } else {
18189 func(static_cast<encryptGroupCallData &>(*obj));
18190 }
18191 return true;
18192 case endGroupCall::ID:
18193 if constexpr (AllowTag) {
18194 downcast_call_tag<endGroupCall> type_tag;
18195 func(type_tag);
18196 } else {
18197 func(static_cast<endGroupCall &>(*obj));
18198 }
18199 return true;
18200 case endGroupCallRecording::ID:
18201 if constexpr (AllowTag) {
18202 downcast_call_tag<endGroupCallRecording> type_tag;
18203 func(type_tag);
18204 } else {
18205 func(static_cast<endGroupCallRecording &>(*obj));
18206 }
18207 return true;
18208 case endGroupCallScreenSharing::ID:
18209 if constexpr (AllowTag) {
18210 downcast_call_tag<endGroupCallScreenSharing> type_tag;
18211 func(type_tag);
18212 } else {
18213 func(static_cast<endGroupCallScreenSharing &>(*obj));
18214 }
18215 return true;
18216 case finishFileGeneration::ID:
18217 if constexpr (AllowTag) {
18218 downcast_call_tag<finishFileGeneration> type_tag;
18219 func(type_tag);
18220 } else {
18221 func(static_cast<finishFileGeneration &>(*obj));
18222 }
18223 return true;
18224 case fixTextWithAi::ID:
18225 if constexpr (AllowTag) {
18226 downcast_call_tag<fixTextWithAi> type_tag;
18227 func(type_tag);
18228 } else {
18229 func(static_cast<fixTextWithAi &>(*obj));
18230 }
18231 return true;
18232 case forwardMessages::ID:
18233 if constexpr (AllowTag) {
18234 downcast_call_tag<forwardMessages> type_tag;
18235 func(type_tag);
18236 } else {
18237 func(static_cast<forwardMessages &>(*obj));
18238 }
18239 return true;
18240 case getAccountTtl::ID:
18241 if constexpr (AllowTag) {
18242 downcast_call_tag<getAccountTtl> type_tag;
18243 func(type_tag);
18244 } else {
18245 func(static_cast<getAccountTtl &>(*obj));
18246 }
18247 return true;
18248 case getActiveSessions::ID:
18249 if constexpr (AllowTag) {
18250 downcast_call_tag<getActiveSessions> type_tag;
18251 func(type_tag);
18252 } else {
18253 func(static_cast<getActiveSessions &>(*obj));
18254 }
18255 return true;
18256 case getAllPassportElements::ID:
18257 if constexpr (AllowTag) {
18258 downcast_call_tag<getAllPassportElements> type_tag;
18259 func(type_tag);
18260 } else {
18261 func(static_cast<getAllPassportElements &>(*obj));
18262 }
18263 return true;
18264 case getAllStickerEmojis::ID:
18265 if constexpr (AllowTag) {
18266 downcast_call_tag<getAllStickerEmojis> type_tag;
18267 func(type_tag);
18268 } else {
18269 func(static_cast<getAllStickerEmojis &>(*obj));
18270 }
18271 return true;
18272 case getAnimatedEmoji::ID:
18273 if constexpr (AllowTag) {
18274 downcast_call_tag<getAnimatedEmoji> type_tag;
18275 func(type_tag);
18276 } else {
18277 func(static_cast<getAnimatedEmoji &>(*obj));
18278 }
18279 return true;
18280 case getApplicationConfig::ID:
18281 if constexpr (AllowTag) {
18282 downcast_call_tag<getApplicationConfig> type_tag;
18283 func(type_tag);
18284 } else {
18285 func(static_cast<getApplicationConfig &>(*obj));
18286 }
18287 return true;
18288 case getApplicationDownloadLink::ID:
18289 if constexpr (AllowTag) {
18290 downcast_call_tag<getApplicationDownloadLink> type_tag;
18291 func(type_tag);
18292 } else {
18293 func(static_cast<getApplicationDownloadLink &>(*obj));
18294 }
18295 return true;
18296 case getArchiveChatListSettings::ID:
18297 if constexpr (AllowTag) {
18298 downcast_call_tag<getArchiveChatListSettings> type_tag;
18299 func(type_tag);
18300 } else {
18301 func(static_cast<getArchiveChatListSettings &>(*obj));
18302 }
18303 return true;
18304 case getArchivedStickerSets::ID:
18305 if constexpr (AllowTag) {
18306 downcast_call_tag<getArchivedStickerSets> type_tag;
18307 func(type_tag);
18308 } else {
18309 func(static_cast<getArchivedStickerSets &>(*obj));
18310 }
18311 return true;
18312 case getAttachedStickerSets::ID:
18313 if constexpr (AllowTag) {
18314 downcast_call_tag<getAttachedStickerSets> type_tag;
18315 func(type_tag);
18316 } else {
18317 func(static_cast<getAttachedStickerSets &>(*obj));
18318 }
18319 return true;
18320 case getAttachmentMenuBot::ID:
18321 if constexpr (AllowTag) {
18322 downcast_call_tag<getAttachmentMenuBot> type_tag;
18323 func(type_tag);
18324 } else {
18325 func(static_cast<getAttachmentMenuBot &>(*obj));
18326 }
18327 return true;
18328 case getAuthenticationPasskeyParameters::ID:
18329 if constexpr (AllowTag) {
18330 downcast_call_tag<getAuthenticationPasskeyParameters> type_tag;
18331 func(type_tag);
18332 } else {
18333 func(static_cast<getAuthenticationPasskeyParameters &>(*obj));
18334 }
18335 return true;
18336 case getAuthorizationState::ID:
18337 if constexpr (AllowTag) {
18338 downcast_call_tag<getAuthorizationState> type_tag;
18339 func(type_tag);
18340 } else {
18341 func(static_cast<getAuthorizationState &>(*obj));
18342 }
18343 return true;
18344 case getAutoDownloadSettingsPresets::ID:
18345 if constexpr (AllowTag) {
18346 downcast_call_tag<getAutoDownloadSettingsPresets> type_tag;
18347 func(type_tag);
18348 } else {
18349 func(static_cast<getAutoDownloadSettingsPresets &>(*obj));
18350 }
18351 return true;
18352 case getAutosaveSettings::ID:
18353 if constexpr (AllowTag) {
18354 downcast_call_tag<getAutosaveSettings> type_tag;
18355 func(type_tag);
18356 } else {
18357 func(static_cast<getAutosaveSettings &>(*obj));
18358 }
18359 return true;
18360 case getAvailableChatBoostSlots::ID:
18361 if constexpr (AllowTag) {
18362 downcast_call_tag<getAvailableChatBoostSlots> type_tag;
18363 func(type_tag);
18364 } else {
18365 func(static_cast<getAvailableChatBoostSlots &>(*obj));
18366 }
18367 return true;
18368 case getAvailableGifts::ID:
18369 if constexpr (AllowTag) {
18370 downcast_call_tag<getAvailableGifts> type_tag;
18371 func(type_tag);
18372 } else {
18373 func(static_cast<getAvailableGifts &>(*obj));
18374 }
18375 return true;
18376 case getBackgroundUrl::ID:
18377 if constexpr (AllowTag) {
18378 downcast_call_tag<getBackgroundUrl> type_tag;
18379 func(type_tag);
18380 } else {
18381 func(static_cast<getBackgroundUrl &>(*obj));
18382 }
18383 return true;
18384 case getBankCardInfo::ID:
18385 if constexpr (AllowTag) {
18386 downcast_call_tag<getBankCardInfo> type_tag;
18387 func(type_tag);
18388 } else {
18389 func(static_cast<getBankCardInfo &>(*obj));
18390 }
18391 return true;
18392 case getBasicGroup::ID:
18393 if constexpr (AllowTag) {
18394 downcast_call_tag<getBasicGroup> type_tag;
18395 func(type_tag);
18396 } else {
18397 func(static_cast<getBasicGroup &>(*obj));
18398 }
18399 return true;
18400 case getBasicGroupFullInfo::ID:
18401 if constexpr (AllowTag) {
18402 downcast_call_tag<getBasicGroupFullInfo> type_tag;
18403 func(type_tag);
18404 } else {
18405 func(static_cast<getBasicGroupFullInfo &>(*obj));
18406 }
18407 return true;
18408 case getBlockedMessageSenders::ID:
18409 if constexpr (AllowTag) {
18410 downcast_call_tag<getBlockedMessageSenders> type_tag;
18411 func(type_tag);
18412 } else {
18413 func(static_cast<getBlockedMessageSenders &>(*obj));
18414 }
18415 return true;
18416 case getBotInfoDescription::ID:
18417 if constexpr (AllowTag) {
18418 downcast_call_tag<getBotInfoDescription> type_tag;
18419 func(type_tag);
18420 } else {
18421 func(static_cast<getBotInfoDescription &>(*obj));
18422 }
18423 return true;
18424 case getBotInfoShortDescription::ID:
18425 if constexpr (AllowTag) {
18426 downcast_call_tag<getBotInfoShortDescription> type_tag;
18427 func(type_tag);
18428 } else {
18429 func(static_cast<getBotInfoShortDescription &>(*obj));
18430 }
18431 return true;
18432 case getBotMediaPreviewInfo::ID:
18433 if constexpr (AllowTag) {
18434 downcast_call_tag<getBotMediaPreviewInfo> type_tag;
18435 func(type_tag);
18436 } else {
18437 func(static_cast<getBotMediaPreviewInfo &>(*obj));
18438 }
18439 return true;
18440 case getBotMediaPreviews::ID:
18441 if constexpr (AllowTag) {
18442 downcast_call_tag<getBotMediaPreviews> type_tag;
18443 func(type_tag);
18444 } else {
18445 func(static_cast<getBotMediaPreviews &>(*obj));
18446 }
18447 return true;
18448 case getBotName::ID:
18449 if constexpr (AllowTag) {
18450 downcast_call_tag<getBotName> type_tag;
18451 func(type_tag);
18452 } else {
18453 func(static_cast<getBotName &>(*obj));
18454 }
18455 return true;
18456 case getBotSimilarBotCount::ID:
18457 if constexpr (AllowTag) {
18458 downcast_call_tag<getBotSimilarBotCount> type_tag;
18459 func(type_tag);
18460 } else {
18461 func(static_cast<getBotSimilarBotCount &>(*obj));
18462 }
18463 return true;
18464 case getBotSimilarBots::ID:
18465 if constexpr (AllowTag) {
18466 downcast_call_tag<getBotSimilarBots> type_tag;
18467 func(type_tag);
18468 } else {
18469 func(static_cast<getBotSimilarBots &>(*obj));
18470 }
18471 return true;
18472 case getBotToken::ID:
18473 if constexpr (AllowTag) {
18474 downcast_call_tag<getBotToken> type_tag;
18475 func(type_tag);
18476 } else {
18477 func(static_cast<getBotToken &>(*obj));
18478 }
18479 return true;
18480 case getBusinessAccountStarAmount::ID:
18481 if constexpr (AllowTag) {
18482 downcast_call_tag<getBusinessAccountStarAmount> type_tag;
18483 func(type_tag);
18484 } else {
18485 func(static_cast<getBusinessAccountStarAmount &>(*obj));
18486 }
18487 return true;
18488 case getBusinessChatLinkInfo::ID:
18489 if constexpr (AllowTag) {
18490 downcast_call_tag<getBusinessChatLinkInfo> type_tag;
18491 func(type_tag);
18492 } else {
18493 func(static_cast<getBusinessChatLinkInfo &>(*obj));
18494 }
18495 return true;
18496 case getBusinessChatLinks::ID:
18497 if constexpr (AllowTag) {
18498 downcast_call_tag<getBusinessChatLinks> type_tag;
18499 func(type_tag);
18500 } else {
18501 func(static_cast<getBusinessChatLinks &>(*obj));
18502 }
18503 return true;
18504 case getBusinessConnectedBot::ID:
18505 if constexpr (AllowTag) {
18506 downcast_call_tag<getBusinessConnectedBot> type_tag;
18507 func(type_tag);
18508 } else {
18509 func(static_cast<getBusinessConnectedBot &>(*obj));
18510 }
18511 return true;
18512 case getBusinessConnection::ID:
18513 if constexpr (AllowTag) {
18514 downcast_call_tag<getBusinessConnection> type_tag;
18515 func(type_tag);
18516 } else {
18517 func(static_cast<getBusinessConnection &>(*obj));
18518 }
18519 return true;
18520 case getBusinessFeatures::ID:
18521 if constexpr (AllowTag) {
18522 downcast_call_tag<getBusinessFeatures> type_tag;
18523 func(type_tag);
18524 } else {
18525 func(static_cast<getBusinessFeatures &>(*obj));
18526 }
18527 return true;
18528 case getCallbackQueryAnswer::ID:
18529 if constexpr (AllowTag) {
18530 downcast_call_tag<getCallbackQueryAnswer> type_tag;
18531 func(type_tag);
18532 } else {
18533 func(static_cast<getCallbackQueryAnswer &>(*obj));
18534 }
18535 return true;
18536 case getCallbackQueryMessage::ID:
18537 if constexpr (AllowTag) {
18538 downcast_call_tag<getCallbackQueryMessage> type_tag;
18539 func(type_tag);
18540 } else {
18541 func(static_cast<getCallbackQueryMessage &>(*obj));
18542 }
18543 return true;
18544 case getChat::ID:
18545 if constexpr (AllowTag) {
18546 downcast_call_tag<getChat> type_tag;
18547 func(type_tag);
18548 } else {
18549 func(static_cast<getChat &>(*obj));
18550 }
18551 return true;
18552 case getChatActiveStories::ID:
18553 if constexpr (AllowTag) {
18554 downcast_call_tag<getChatActiveStories> type_tag;
18555 func(type_tag);
18556 } else {
18557 func(static_cast<getChatActiveStories &>(*obj));
18558 }
18559 return true;
18560 case getChatAdministrators::ID:
18561 if constexpr (AllowTag) {
18562 downcast_call_tag<getChatAdministrators> type_tag;
18563 func(type_tag);
18564 } else {
18565 func(static_cast<getChatAdministrators &>(*obj));
18566 }
18567 return true;
18568 case getChatArchivedStories::ID:
18569 if constexpr (AllowTag) {
18570 downcast_call_tag<getChatArchivedStories> type_tag;
18571 func(type_tag);
18572 } else {
18573 func(static_cast<getChatArchivedStories &>(*obj));
18574 }
18575 return true;
18576 case getChatAvailableMessageSenders::ID:
18577 if constexpr (AllowTag) {
18578 downcast_call_tag<getChatAvailableMessageSenders> type_tag;
18579 func(type_tag);
18580 } else {
18581 func(static_cast<getChatAvailableMessageSenders &>(*obj));
18582 }
18583 return true;
18584 case getChatAvailablePaidMessageReactionSenders::ID:
18585 if constexpr (AllowTag) {
18586 downcast_call_tag<getChatAvailablePaidMessageReactionSenders> type_tag;
18587 func(type_tag);
18588 } else {
18589 func(static_cast<getChatAvailablePaidMessageReactionSenders &>(*obj));
18590 }
18591 return true;
18592 case getChatBoostFeatures::ID:
18593 if constexpr (AllowTag) {
18594 downcast_call_tag<getChatBoostFeatures> type_tag;
18595 func(type_tag);
18596 } else {
18597 func(static_cast<getChatBoostFeatures &>(*obj));
18598 }
18599 return true;
18600 case getChatBoostLevelFeatures::ID:
18601 if constexpr (AllowTag) {
18602 downcast_call_tag<getChatBoostLevelFeatures> type_tag;
18603 func(type_tag);
18604 } else {
18605 func(static_cast<getChatBoostLevelFeatures &>(*obj));
18606 }
18607 return true;
18608 case getChatBoostLink::ID:
18609 if constexpr (AllowTag) {
18610 downcast_call_tag<getChatBoostLink> type_tag;
18611 func(type_tag);
18612 } else {
18613 func(static_cast<getChatBoostLink &>(*obj));
18614 }
18615 return true;
18616 case getChatBoostLinkInfo::ID:
18617 if constexpr (AllowTag) {
18618 downcast_call_tag<getChatBoostLinkInfo> type_tag;
18619 func(type_tag);
18620 } else {
18621 func(static_cast<getChatBoostLinkInfo &>(*obj));
18622 }
18623 return true;
18624 case getChatBoostStatus::ID:
18625 if constexpr (AllowTag) {
18626 downcast_call_tag<getChatBoostStatus> type_tag;
18627 func(type_tag);
18628 } else {
18629 func(static_cast<getChatBoostStatus &>(*obj));
18630 }
18631 return true;
18632 case getChatBoosts::ID:
18633 if constexpr (AllowTag) {
18634 downcast_call_tag<getChatBoosts> type_tag;
18635 func(type_tag);
18636 } else {
18637 func(static_cast<getChatBoosts &>(*obj));
18638 }
18639 return true;
18640 case getChatEventLog::ID:
18641 if constexpr (AllowTag) {
18642 downcast_call_tag<getChatEventLog> type_tag;
18643 func(type_tag);
18644 } else {
18645 func(static_cast<getChatEventLog &>(*obj));
18646 }
18647 return true;
18648 case getChatFolder::ID:
18649 if constexpr (AllowTag) {
18650 downcast_call_tag<getChatFolder> type_tag;
18651 func(type_tag);
18652 } else {
18653 func(static_cast<getChatFolder &>(*obj));
18654 }
18655 return true;
18656 case getChatFolderChatCount::ID:
18657 if constexpr (AllowTag) {
18658 downcast_call_tag<getChatFolderChatCount> type_tag;
18659 func(type_tag);
18660 } else {
18661 func(static_cast<getChatFolderChatCount &>(*obj));
18662 }
18663 return true;
18664 case getChatFolderChatsToLeave::ID:
18665 if constexpr (AllowTag) {
18666 downcast_call_tag<getChatFolderChatsToLeave> type_tag;
18667 func(type_tag);
18668 } else {
18669 func(static_cast<getChatFolderChatsToLeave &>(*obj));
18670 }
18671 return true;
18672 case getChatFolderDefaultIconName::ID:
18673 if constexpr (AllowTag) {
18674 downcast_call_tag<getChatFolderDefaultIconName> type_tag;
18675 func(type_tag);
18676 } else {
18677 func(static_cast<getChatFolderDefaultIconName &>(*obj));
18678 }
18679 return true;
18680 case getChatFolderInviteLinks::ID:
18681 if constexpr (AllowTag) {
18682 downcast_call_tag<getChatFolderInviteLinks> type_tag;
18683 func(type_tag);
18684 } else {
18685 func(static_cast<getChatFolderInviteLinks &>(*obj));
18686 }
18687 return true;
18688 case getChatFolderNewChats::ID:
18689 if constexpr (AllowTag) {
18690 downcast_call_tag<getChatFolderNewChats> type_tag;
18691 func(type_tag);
18692 } else {
18693 func(static_cast<getChatFolderNewChats &>(*obj));
18694 }
18695 return true;
18696 case getChatHistory::ID:
18697 if constexpr (AllowTag) {
18698 downcast_call_tag<getChatHistory> type_tag;
18699 func(type_tag);
18700 } else {
18701 func(static_cast<getChatHistory &>(*obj));
18702 }
18703 return true;
18704 case getChatInviteLink::ID:
18705 if constexpr (AllowTag) {
18706 downcast_call_tag<getChatInviteLink> type_tag;
18707 func(type_tag);
18708 } else {
18709 func(static_cast<getChatInviteLink &>(*obj));
18710 }
18711 return true;
18712 case getChatInviteLinkCounts::ID:
18713 if constexpr (AllowTag) {
18714 downcast_call_tag<getChatInviteLinkCounts> type_tag;
18715 func(type_tag);
18716 } else {
18717 func(static_cast<getChatInviteLinkCounts &>(*obj));
18718 }
18719 return true;
18720 case getChatInviteLinkMembers::ID:
18721 if constexpr (AllowTag) {
18722 downcast_call_tag<getChatInviteLinkMembers> type_tag;
18723 func(type_tag);
18724 } else {
18725 func(static_cast<getChatInviteLinkMembers &>(*obj));
18726 }
18727 return true;
18728 case getChatInviteLinks::ID:
18729 if constexpr (AllowTag) {
18730 downcast_call_tag<getChatInviteLinks> type_tag;
18731 func(type_tag);
18732 } else {
18733 func(static_cast<getChatInviteLinks &>(*obj));
18734 }
18735 return true;
18736 case getChatJoinRequests::ID:
18737 if constexpr (AllowTag) {
18738 downcast_call_tag<getChatJoinRequests> type_tag;
18739 func(type_tag);
18740 } else {
18741 func(static_cast<getChatJoinRequests &>(*obj));
18742 }
18743 return true;
18744 case getChatListsToAddChat::ID:
18745 if constexpr (AllowTag) {
18746 downcast_call_tag<getChatListsToAddChat> type_tag;
18747 func(type_tag);
18748 } else {
18749 func(static_cast<getChatListsToAddChat &>(*obj));
18750 }
18751 return true;
18752 case getChatMember::ID:
18753 if constexpr (AllowTag) {
18754 downcast_call_tag<getChatMember> type_tag;
18755 func(type_tag);
18756 } else {
18757 func(static_cast<getChatMember &>(*obj));
18758 }
18759 return true;
18760 case getChatMessageByDate::ID:
18761 if constexpr (AllowTag) {
18762 downcast_call_tag<getChatMessageByDate> type_tag;
18763 func(type_tag);
18764 } else {
18765 func(static_cast<getChatMessageByDate &>(*obj));
18766 }
18767 return true;
18768 case getChatMessageCalendar::ID:
18769 if constexpr (AllowTag) {
18770 downcast_call_tag<getChatMessageCalendar> type_tag;
18771 func(type_tag);
18772 } else {
18773 func(static_cast<getChatMessageCalendar &>(*obj));
18774 }
18775 return true;
18776 case getChatMessageCount::ID:
18777 if constexpr (AllowTag) {
18778 downcast_call_tag<getChatMessageCount> type_tag;
18779 func(type_tag);
18780 } else {
18781 func(static_cast<getChatMessageCount &>(*obj));
18782 }
18783 return true;
18784 case getChatMessagePosition::ID:
18785 if constexpr (AllowTag) {
18786 downcast_call_tag<getChatMessagePosition> type_tag;
18787 func(type_tag);
18788 } else {
18789 func(static_cast<getChatMessagePosition &>(*obj));
18790 }
18791 return true;
18792 case getChatNotificationSettingsExceptions::ID:
18793 if constexpr (AllowTag) {
18794 downcast_call_tag<getChatNotificationSettingsExceptions> type_tag;
18795 func(type_tag);
18796 } else {
18797 func(static_cast<getChatNotificationSettingsExceptions &>(*obj));
18798 }
18799 return true;
18800 case getChatOwnerAfterLeaving::ID:
18801 if constexpr (AllowTag) {
18802 downcast_call_tag<getChatOwnerAfterLeaving> type_tag;
18803 func(type_tag);
18804 } else {
18805 func(static_cast<getChatOwnerAfterLeaving &>(*obj));
18806 }
18807 return true;
18808 case getChatPinnedMessage::ID:
18809 if constexpr (AllowTag) {
18810 downcast_call_tag<getChatPinnedMessage> type_tag;
18811 func(type_tag);
18812 } else {
18813 func(static_cast<getChatPinnedMessage &>(*obj));
18814 }
18815 return true;
18816 case getChatPostedToChatPageStories::ID:
18817 if constexpr (AllowTag) {
18818 downcast_call_tag<getChatPostedToChatPageStories> type_tag;
18819 func(type_tag);
18820 } else {
18821 func(static_cast<getChatPostedToChatPageStories &>(*obj));
18822 }
18823 return true;
18824 case getChatRevenueStatistics::ID:
18825 if constexpr (AllowTag) {
18826 downcast_call_tag<getChatRevenueStatistics> type_tag;
18827 func(type_tag);
18828 } else {
18829 func(static_cast<getChatRevenueStatistics &>(*obj));
18830 }
18831 return true;
18832 case getChatRevenueTransactions::ID:
18833 if constexpr (AllowTag) {
18834 downcast_call_tag<getChatRevenueTransactions> type_tag;
18835 func(type_tag);
18836 } else {
18837 func(static_cast<getChatRevenueTransactions &>(*obj));
18838 }
18839 return true;
18840 case getChatRevenueWithdrawalUrl::ID:
18841 if constexpr (AllowTag) {
18842 downcast_call_tag<getChatRevenueWithdrawalUrl> type_tag;
18843 func(type_tag);
18844 } else {
18845 func(static_cast<getChatRevenueWithdrawalUrl &>(*obj));
18846 }
18847 return true;
18848 case getChatScheduledMessages::ID:
18849 if constexpr (AllowTag) {
18850 downcast_call_tag<getChatScheduledMessages> type_tag;
18851 func(type_tag);
18852 } else {
18853 func(static_cast<getChatScheduledMessages &>(*obj));
18854 }
18855 return true;
18856 case getChatSimilarChatCount::ID:
18857 if constexpr (AllowTag) {
18858 downcast_call_tag<getChatSimilarChatCount> type_tag;
18859 func(type_tag);
18860 } else {
18861 func(static_cast<getChatSimilarChatCount &>(*obj));
18862 }
18863 return true;
18864 case getChatSimilarChats::ID:
18865 if constexpr (AllowTag) {
18866 downcast_call_tag<getChatSimilarChats> type_tag;
18867 func(type_tag);
18868 } else {
18869 func(static_cast<getChatSimilarChats &>(*obj));
18870 }
18871 return true;
18872 case getChatSparseMessagePositions::ID:
18873 if constexpr (AllowTag) {
18874 downcast_call_tag<getChatSparseMessagePositions> type_tag;
18875 func(type_tag);
18876 } else {
18877 func(static_cast<getChatSparseMessagePositions &>(*obj));
18878 }
18879 return true;
18880 case getChatSponsoredMessages::ID:
18881 if constexpr (AllowTag) {
18882 downcast_call_tag<getChatSponsoredMessages> type_tag;
18883 func(type_tag);
18884 } else {
18885 func(static_cast<getChatSponsoredMessages &>(*obj));
18886 }
18887 return true;
18888 case getChatStatistics::ID:
18889 if constexpr (AllowTag) {
18890 downcast_call_tag<getChatStatistics> type_tag;
18891 func(type_tag);
18892 } else {
18893 func(static_cast<getChatStatistics &>(*obj));
18894 }
18895 return true;
18896 case getChatStoryAlbums::ID:
18897 if constexpr (AllowTag) {
18898 downcast_call_tag<getChatStoryAlbums> type_tag;
18899 func(type_tag);
18900 } else {
18901 func(static_cast<getChatStoryAlbums &>(*obj));
18902 }
18903 return true;
18904 case getChatStoryInteractions::ID:
18905 if constexpr (AllowTag) {
18906 downcast_call_tag<getChatStoryInteractions> type_tag;
18907 func(type_tag);
18908 } else {
18909 func(static_cast<getChatStoryInteractions &>(*obj));
18910 }
18911 return true;
18912 case getChats::ID:
18913 if constexpr (AllowTag) {
18914 downcast_call_tag<getChats> type_tag;
18915 func(type_tag);
18916 } else {
18917 func(static_cast<getChats &>(*obj));
18918 }
18919 return true;
18920 case getChatsForChatFolderInviteLink::ID:
18921 if constexpr (AllowTag) {
18922 downcast_call_tag<getChatsForChatFolderInviteLink> type_tag;
18923 func(type_tag);
18924 } else {
18925 func(static_cast<getChatsForChatFolderInviteLink &>(*obj));
18926 }
18927 return true;
18928 case getChatsToPostStories::ID:
18929 if constexpr (AllowTag) {
18930 downcast_call_tag<getChatsToPostStories> type_tag;
18931 func(type_tag);
18932 } else {
18933 func(static_cast<getChatsToPostStories &>(*obj));
18934 }
18935 return true;
18936 case getCloseFriends::ID:
18937 if constexpr (AllowTag) {
18938 downcast_call_tag<getCloseFriends> type_tag;
18939 func(type_tag);
18940 } else {
18941 func(static_cast<getCloseFriends &>(*obj));
18942 }
18943 return true;
18944 case getCollectibleItemInfo::ID:
18945 if constexpr (AllowTag) {
18946 downcast_call_tag<getCollectibleItemInfo> type_tag;
18947 func(type_tag);
18948 } else {
18949 func(static_cast<getCollectibleItemInfo &>(*obj));
18950 }
18951 return true;
18952 case getCommands::ID:
18953 if constexpr (AllowTag) {
18954 downcast_call_tag<getCommands> type_tag;
18955 func(type_tag);
18956 } else {
18957 func(static_cast<getCommands &>(*obj));
18958 }
18959 return true;
18960 case getConnectedAffiliateProgram::ID:
18961 if constexpr (AllowTag) {
18962 downcast_call_tag<getConnectedAffiliateProgram> type_tag;
18963 func(type_tag);
18964 } else {
18965 func(static_cast<getConnectedAffiliateProgram &>(*obj));
18966 }
18967 return true;
18968 case getConnectedAffiliatePrograms::ID:
18969 if constexpr (AllowTag) {
18970 downcast_call_tag<getConnectedAffiliatePrograms> type_tag;
18971 func(type_tag);
18972 } else {
18973 func(static_cast<getConnectedAffiliatePrograms &>(*obj));
18974 }
18975 return true;
18976 case getConnectedWebsites::ID:
18977 if constexpr (AllowTag) {
18978 downcast_call_tag<getConnectedWebsites> type_tag;
18979 func(type_tag);
18980 } else {
18981 func(static_cast<getConnectedWebsites &>(*obj));
18982 }
18983 return true;
18984 case getContacts::ID:
18985 if constexpr (AllowTag) {
18986 downcast_call_tag<getContacts> type_tag;
18987 func(type_tag);
18988 } else {
18989 func(static_cast<getContacts &>(*obj));
18990 }
18991 return true;
18992 case getCountries::ID:
18993 if constexpr (AllowTag) {
18994 downcast_call_tag<getCountries> type_tag;
18995 func(type_tag);
18996 } else {
18997 func(static_cast<getCountries &>(*obj));
18998 }
18999 return true;
19000 case getCountryCode::ID:
19001 if constexpr (AllowTag) {
19002 downcast_call_tag<getCountryCode> type_tag;
19003 func(type_tag);
19004 } else {
19005 func(static_cast<getCountryCode &>(*obj));
19006 }
19007 return true;
19008 case getCountryFlagEmoji::ID:
19009 if constexpr (AllowTag) {
19010 downcast_call_tag<getCountryFlagEmoji> type_tag;
19011 func(type_tag);
19012 } else {
19013 func(static_cast<getCountryFlagEmoji &>(*obj));
19014 }
19015 return true;
19016 case getCreatedPublicChats::ID:
19017 if constexpr (AllowTag) {
19018 downcast_call_tag<getCreatedPublicChats> type_tag;
19019 func(type_tag);
19020 } else {
19021 func(static_cast<getCreatedPublicChats &>(*obj));
19022 }
19023 return true;
19024 case getCurrentState::ID:
19025 if constexpr (AllowTag) {
19026 downcast_call_tag<getCurrentState> type_tag;
19027 func(type_tag);
19028 } else {
19029 func(static_cast<getCurrentState &>(*obj));
19030 }
19031 return true;
19032 case getCurrentWeather::ID:
19033 if constexpr (AllowTag) {
19034 downcast_call_tag<getCurrentWeather> type_tag;
19035 func(type_tag);
19036 } else {
19037 func(static_cast<getCurrentWeather &>(*obj));
19038 }
19039 return true;
19040 case getCustomEmojiReactionAnimations::ID:
19041 if constexpr (AllowTag) {
19042 downcast_call_tag<getCustomEmojiReactionAnimations> type_tag;
19043 func(type_tag);
19044 } else {
19045 func(static_cast<getCustomEmojiReactionAnimations &>(*obj));
19046 }
19047 return true;
19048 case getCustomEmojiStickers::ID:
19049 if constexpr (AllowTag) {
19050 downcast_call_tag<getCustomEmojiStickers> type_tag;
19051 func(type_tag);
19052 } else {
19053 func(static_cast<getCustomEmojiStickers &>(*obj));
19054 }
19055 return true;
19056 case getDatabaseStatistics::ID:
19057 if constexpr (AllowTag) {
19058 downcast_call_tag<getDatabaseStatistics> type_tag;
19059 func(type_tag);
19060 } else {
19061 func(static_cast<getDatabaseStatistics &>(*obj));
19062 }
19063 return true;
19064 case getDeepLinkInfo::ID:
19065 if constexpr (AllowTag) {
19066 downcast_call_tag<getDeepLinkInfo> type_tag;
19067 func(type_tag);
19068 } else {
19069 func(static_cast<getDeepLinkInfo &>(*obj));
19070 }
19071 return true;
19072 case getDefaultBackgroundCustomEmojiStickers::ID:
19073 if constexpr (AllowTag) {
19074 downcast_call_tag<getDefaultBackgroundCustomEmojiStickers> type_tag;
19075 func(type_tag);
19076 } else {
19077 func(static_cast<getDefaultBackgroundCustomEmojiStickers &>(*obj));
19078 }
19079 return true;
19080 case getDefaultChatEmojiStatuses::ID:
19081 if constexpr (AllowTag) {
19082 downcast_call_tag<getDefaultChatEmojiStatuses> type_tag;
19083 func(type_tag);
19084 } else {
19085 func(static_cast<getDefaultChatEmojiStatuses &>(*obj));
19086 }
19087 return true;
19088 case getDefaultChatPhotoCustomEmojiStickers::ID:
19089 if constexpr (AllowTag) {
19090 downcast_call_tag<getDefaultChatPhotoCustomEmojiStickers> type_tag;
19091 func(type_tag);
19092 } else {
19093 func(static_cast<getDefaultChatPhotoCustomEmojiStickers &>(*obj));
19094 }
19095 return true;
19096 case getDefaultEmojiStatuses::ID:
19097 if constexpr (AllowTag) {
19098 downcast_call_tag<getDefaultEmojiStatuses> type_tag;
19099 func(type_tag);
19100 } else {
19101 func(static_cast<getDefaultEmojiStatuses &>(*obj));
19102 }
19103 return true;
19104 case getDefaultMessageAutoDeleteTime::ID:
19105 if constexpr (AllowTag) {
19106 downcast_call_tag<getDefaultMessageAutoDeleteTime> type_tag;
19107 func(type_tag);
19108 } else {
19109 func(static_cast<getDefaultMessageAutoDeleteTime &>(*obj));
19110 }
19111 return true;
19112 case getDefaultProfilePhotoCustomEmojiStickers::ID:
19113 if constexpr (AllowTag) {
19114 downcast_call_tag<getDefaultProfilePhotoCustomEmojiStickers> type_tag;
19115 func(type_tag);
19116 } else {
19117 func(static_cast<getDefaultProfilePhotoCustomEmojiStickers &>(*obj));
19118 }
19119 return true;
19120 case getDirectMessagesChatTopic::ID:
19121 if constexpr (AllowTag) {
19122 downcast_call_tag<getDirectMessagesChatTopic> type_tag;
19123 func(type_tag);
19124 } else {
19125 func(static_cast<getDirectMessagesChatTopic &>(*obj));
19126 }
19127 return true;
19128 case getDirectMessagesChatTopicHistory::ID:
19129 if constexpr (AllowTag) {
19130 downcast_call_tag<getDirectMessagesChatTopicHistory> type_tag;
19131 func(type_tag);
19132 } else {
19133 func(static_cast<getDirectMessagesChatTopicHistory &>(*obj));
19134 }
19135 return true;
19136 case getDirectMessagesChatTopicMessageByDate::ID:
19137 if constexpr (AllowTag) {
19138 downcast_call_tag<getDirectMessagesChatTopicMessageByDate> type_tag;
19139 func(type_tag);
19140 } else {
19141 func(static_cast<getDirectMessagesChatTopicMessageByDate &>(*obj));
19142 }
19143 return true;
19144 case getDirectMessagesChatTopicRevenue::ID:
19145 if constexpr (AllowTag) {
19146 downcast_call_tag<getDirectMessagesChatTopicRevenue> type_tag;
19147 func(type_tag);
19148 } else {
19149 func(static_cast<getDirectMessagesChatTopicRevenue &>(*obj));
19150 }
19151 return true;
19152 case getDisallowedChatEmojiStatuses::ID:
19153 if constexpr (AllowTag) {
19154 downcast_call_tag<getDisallowedChatEmojiStatuses> type_tag;
19155 func(type_tag);
19156 } else {
19157 func(static_cast<getDisallowedChatEmojiStatuses &>(*obj));
19158 }
19159 return true;
19160 case getEmojiCategories::ID:
19161 if constexpr (AllowTag) {
19162 downcast_call_tag<getEmojiCategories> type_tag;
19163 func(type_tag);
19164 } else {
19165 func(static_cast<getEmojiCategories &>(*obj));
19166 }
19167 return true;
19168 case getEmojiReaction::ID:
19169 if constexpr (AllowTag) {
19170 downcast_call_tag<getEmojiReaction> type_tag;
19171 func(type_tag);
19172 } else {
19173 func(static_cast<getEmojiReaction &>(*obj));
19174 }
19175 return true;
19176 case getEmojiSuggestionsUrl::ID:
19177 if constexpr (AllowTag) {
19178 downcast_call_tag<getEmojiSuggestionsUrl> type_tag;
19179 func(type_tag);
19180 } else {
19181 func(static_cast<getEmojiSuggestionsUrl &>(*obj));
19182 }
19183 return true;
19184 case getExternalLink::ID:
19185 if constexpr (AllowTag) {
19186 downcast_call_tag<getExternalLink> type_tag;
19187 func(type_tag);
19188 } else {
19189 func(static_cast<getExternalLink &>(*obj));
19190 }
19191 return true;
19192 case getExternalLinkInfo::ID:
19193 if constexpr (AllowTag) {
19194 downcast_call_tag<getExternalLinkInfo> type_tag;
19195 func(type_tag);
19196 } else {
19197 func(static_cast<getExternalLinkInfo &>(*obj));
19198 }
19199 return true;
19200 case getFavoriteStickers::ID:
19201 if constexpr (AllowTag) {
19202 downcast_call_tag<getFavoriteStickers> type_tag;
19203 func(type_tag);
19204 } else {
19205 func(static_cast<getFavoriteStickers &>(*obj));
19206 }
19207 return true;
19208 case getFile::ID:
19209 if constexpr (AllowTag) {
19210 downcast_call_tag<getFile> type_tag;
19211 func(type_tag);
19212 } else {
19213 func(static_cast<getFile &>(*obj));
19214 }
19215 return true;
19216 case getFileDownloadedPrefixSize::ID:
19217 if constexpr (AllowTag) {
19218 downcast_call_tag<getFileDownloadedPrefixSize> type_tag;
19219 func(type_tag);
19220 } else {
19221 func(static_cast<getFileDownloadedPrefixSize &>(*obj));
19222 }
19223 return true;
19224 case getFileExtension::ID:
19225 if constexpr (AllowTag) {
19226 downcast_call_tag<getFileExtension> type_tag;
19227 func(type_tag);
19228 } else {
19229 func(static_cast<getFileExtension &>(*obj));
19230 }
19231 return true;
19232 case getFileMimeType::ID:
19233 if constexpr (AllowTag) {
19234 downcast_call_tag<getFileMimeType> type_tag;
19235 func(type_tag);
19236 } else {
19237 func(static_cast<getFileMimeType &>(*obj));
19238 }
19239 return true;
19240 case getForumTopic::ID:
19241 if constexpr (AllowTag) {
19242 downcast_call_tag<getForumTopic> type_tag;
19243 func(type_tag);
19244 } else {
19245 func(static_cast<getForumTopic &>(*obj));
19246 }
19247 return true;
19248 case getForumTopicDefaultIcons::ID:
19249 if constexpr (AllowTag) {
19250 downcast_call_tag<getForumTopicDefaultIcons> type_tag;
19251 func(type_tag);
19252 } else {
19253 func(static_cast<getForumTopicDefaultIcons &>(*obj));
19254 }
19255 return true;
19256 case getForumTopicHistory::ID:
19257 if constexpr (AllowTag) {
19258 downcast_call_tag<getForumTopicHistory> type_tag;
19259 func(type_tag);
19260 } else {
19261 func(static_cast<getForumTopicHistory &>(*obj));
19262 }
19263 return true;
19264 case getForumTopicLink::ID:
19265 if constexpr (AllowTag) {
19266 downcast_call_tag<getForumTopicLink> type_tag;
19267 func(type_tag);
19268 } else {
19269 func(static_cast<getForumTopicLink &>(*obj));
19270 }
19271 return true;
19272 case getForumTopics::ID:
19273 if constexpr (AllowTag) {
19274 downcast_call_tag<getForumTopics> type_tag;
19275 func(type_tag);
19276 } else {
19277 func(static_cast<getForumTopics &>(*obj));
19278 }
19279 return true;
19280 case getGameHighScores::ID:
19281 if constexpr (AllowTag) {
19282 downcast_call_tag<getGameHighScores> type_tag;
19283 func(type_tag);
19284 } else {
19285 func(static_cast<getGameHighScores &>(*obj));
19286 }
19287 return true;
19288 case getGiftAuctionAcquiredGifts::ID:
19289 if constexpr (AllowTag) {
19290 downcast_call_tag<getGiftAuctionAcquiredGifts> type_tag;
19291 func(type_tag);
19292 } else {
19293 func(static_cast<getGiftAuctionAcquiredGifts &>(*obj));
19294 }
19295 return true;
19296 case getGiftAuctionState::ID:
19297 if constexpr (AllowTag) {
19298 downcast_call_tag<getGiftAuctionState> type_tag;
19299 func(type_tag);
19300 } else {
19301 func(static_cast<getGiftAuctionState &>(*obj));
19302 }
19303 return true;
19304 case getGiftChatThemes::ID:
19305 if constexpr (AllowTag) {
19306 downcast_call_tag<getGiftChatThemes> type_tag;
19307 func(type_tag);
19308 } else {
19309 func(static_cast<getGiftChatThemes &>(*obj));
19310 }
19311 return true;
19312 case getGiftCollections::ID:
19313 if constexpr (AllowTag) {
19314 downcast_call_tag<getGiftCollections> type_tag;
19315 func(type_tag);
19316 } else {
19317 func(static_cast<getGiftCollections &>(*obj));
19318 }
19319 return true;
19320 case getGiftUpgradePreview::ID:
19321 if constexpr (AllowTag) {
19322 downcast_call_tag<getGiftUpgradePreview> type_tag;
19323 func(type_tag);
19324 } else {
19325 func(static_cast<getGiftUpgradePreview &>(*obj));
19326 }
19327 return true;
19328 case getGiftsForCrafting::ID:
19329 if constexpr (AllowTag) {
19330 downcast_call_tag<getGiftsForCrafting> type_tag;
19331 func(type_tag);
19332 } else {
19333 func(static_cast<getGiftsForCrafting &>(*obj));
19334 }
19335 return true;
19336 case getGiveawayInfo::ID:
19337 if constexpr (AllowTag) {
19338 downcast_call_tag<getGiveawayInfo> type_tag;
19339 func(type_tag);
19340 } else {
19341 func(static_cast<getGiveawayInfo &>(*obj));
19342 }
19343 return true;
19344 case getGreetingStickers::ID:
19345 if constexpr (AllowTag) {
19346 downcast_call_tag<getGreetingStickers> type_tag;
19347 func(type_tag);
19348 } else {
19349 func(static_cast<getGreetingStickers &>(*obj));
19350 }
19351 return true;
19352 case getGrossingWebAppBots::ID:
19353 if constexpr (AllowTag) {
19354 downcast_call_tag<getGrossingWebAppBots> type_tag;
19355 func(type_tag);
19356 } else {
19357 func(static_cast<getGrossingWebAppBots &>(*obj));
19358 }
19359 return true;
19360 case getGroupCall::ID:
19361 if constexpr (AllowTag) {
19362 downcast_call_tag<getGroupCall> type_tag;
19363 func(type_tag);
19364 } else {
19365 func(static_cast<getGroupCall &>(*obj));
19366 }
19367 return true;
19368 case getGroupCallParticipants::ID:
19369 if constexpr (AllowTag) {
19370 downcast_call_tag<getGroupCallParticipants> type_tag;
19371 func(type_tag);
19372 } else {
19373 func(static_cast<getGroupCallParticipants &>(*obj));
19374 }
19375 return true;
19376 case getGroupCallStreamSegment::ID:
19377 if constexpr (AllowTag) {
19378 downcast_call_tag<getGroupCallStreamSegment> type_tag;
19379 func(type_tag);
19380 } else {
19381 func(static_cast<getGroupCallStreamSegment &>(*obj));
19382 }
19383 return true;
19384 case getGroupCallStreams::ID:
19385 if constexpr (AllowTag) {
19386 downcast_call_tag<getGroupCallStreams> type_tag;
19387 func(type_tag);
19388 } else {
19389 func(static_cast<getGroupCallStreams &>(*obj));
19390 }
19391 return true;
19392 case getGroupsInCommon::ID:
19393 if constexpr (AllowTag) {
19394 downcast_call_tag<getGroupsInCommon> type_tag;
19395 func(type_tag);
19396 } else {
19397 func(static_cast<getGroupsInCommon &>(*obj));
19398 }
19399 return true;
19400 case getImportedContactCount::ID:
19401 if constexpr (AllowTag) {
19402 downcast_call_tag<getImportedContactCount> type_tag;
19403 func(type_tag);
19404 } else {
19405 func(static_cast<getImportedContactCount &>(*obj));
19406 }
19407 return true;
19408 case getInactiveSupergroupChats::ID:
19409 if constexpr (AllowTag) {
19410 downcast_call_tag<getInactiveSupergroupChats> type_tag;
19411 func(type_tag);
19412 } else {
19413 func(static_cast<getInactiveSupergroupChats &>(*obj));
19414 }
19415 return true;
19416 case getInlineGameHighScores::ID:
19417 if constexpr (AllowTag) {
19418 downcast_call_tag<getInlineGameHighScores> type_tag;
19419 func(type_tag);
19420 } else {
19421 func(static_cast<getInlineGameHighScores &>(*obj));
19422 }
19423 return true;
19424 case getInlineQueryResults::ID:
19425 if constexpr (AllowTag) {
19426 downcast_call_tag<getInlineQueryResults> type_tag;
19427 func(type_tag);
19428 } else {
19429 func(static_cast<getInlineQueryResults &>(*obj));
19430 }
19431 return true;
19432 case getInstalledBackgrounds::ID:
19433 if constexpr (AllowTag) {
19434 downcast_call_tag<getInstalledBackgrounds> type_tag;
19435 func(type_tag);
19436 } else {
19437 func(static_cast<getInstalledBackgrounds &>(*obj));
19438 }
19439 return true;
19440 case getInstalledStickerSets::ID:
19441 if constexpr (AllowTag) {
19442 downcast_call_tag<getInstalledStickerSets> type_tag;
19443 func(type_tag);
19444 } else {
19445 func(static_cast<getInstalledStickerSets &>(*obj));
19446 }
19447 return true;
19448 case getInternalLink::ID:
19449 if constexpr (AllowTag) {
19450 downcast_call_tag<getInternalLink> type_tag;
19451 func(type_tag);
19452 } else {
19453 func(static_cast<getInternalLink &>(*obj));
19454 }
19455 return true;
19456 case getInternalLinkType::ID:
19457 if constexpr (AllowTag) {
19458 downcast_call_tag<getInternalLinkType> type_tag;
19459 func(type_tag);
19460 } else {
19461 func(static_cast<getInternalLinkType &>(*obj));
19462 }
19463 return true;
19464 case getJsonString::ID:
19465 if constexpr (AllowTag) {
19466 downcast_call_tag<getJsonString> type_tag;
19467 func(type_tag);
19468 } else {
19469 func(static_cast<getJsonString &>(*obj));
19470 }
19471 return true;
19472 case getJsonValue::ID:
19473 if constexpr (AllowTag) {
19474 downcast_call_tag<getJsonValue> type_tag;
19475 func(type_tag);
19476 } else {
19477 func(static_cast<getJsonValue &>(*obj));
19478 }
19479 return true;
19480 case getKeywordEmojis::ID:
19481 if constexpr (AllowTag) {
19482 downcast_call_tag<getKeywordEmojis> type_tag;
19483 func(type_tag);
19484 } else {
19485 func(static_cast<getKeywordEmojis &>(*obj));
19486 }
19487 return true;
19488 case getLanguagePackInfo::ID:
19489 if constexpr (AllowTag) {
19490 downcast_call_tag<getLanguagePackInfo> type_tag;
19491 func(type_tag);
19492 } else {
19493 func(static_cast<getLanguagePackInfo &>(*obj));
19494 }
19495 return true;
19496 case getLanguagePackString::ID:
19497 if constexpr (AllowTag) {
19498 downcast_call_tag<getLanguagePackString> type_tag;
19499 func(type_tag);
19500 } else {
19501 func(static_cast<getLanguagePackString &>(*obj));
19502 }
19503 return true;
19504 case getLanguagePackStrings::ID:
19505 if constexpr (AllowTag) {
19506 downcast_call_tag<getLanguagePackStrings> type_tag;
19507 func(type_tag);
19508 } else {
19509 func(static_cast<getLanguagePackStrings &>(*obj));
19510 }
19511 return true;
19512 case getLinkPreview::ID:
19513 if constexpr (AllowTag) {
19514 downcast_call_tag<getLinkPreview> type_tag;
19515 func(type_tag);
19516 } else {
19517 func(static_cast<getLinkPreview &>(*obj));
19518 }
19519 return true;
19520 case getLiveStoryAvailableMessageSenders::ID:
19521 if constexpr (AllowTag) {
19522 downcast_call_tag<getLiveStoryAvailableMessageSenders> type_tag;
19523 func(type_tag);
19524 } else {
19525 func(static_cast<getLiveStoryAvailableMessageSenders &>(*obj));
19526 }
19527 return true;
19528 case getLiveStoryRtmpUrl::ID:
19529 if constexpr (AllowTag) {
19530 downcast_call_tag<getLiveStoryRtmpUrl> type_tag;
19531 func(type_tag);
19532 } else {
19533 func(static_cast<getLiveStoryRtmpUrl &>(*obj));
19534 }
19535 return true;
19536 case getLiveStoryStreamer::ID:
19537 if constexpr (AllowTag) {
19538 downcast_call_tag<getLiveStoryStreamer> type_tag;
19539 func(type_tag);
19540 } else {
19541 func(static_cast<getLiveStoryStreamer &>(*obj));
19542 }
19543 return true;
19544 case getLiveStoryTopDonors::ID:
19545 if constexpr (AllowTag) {
19546 downcast_call_tag<getLiveStoryTopDonors> type_tag;
19547 func(type_tag);
19548 } else {
19549 func(static_cast<getLiveStoryTopDonors &>(*obj));
19550 }
19551 return true;
19552 case getLocalizationTargetInfo::ID:
19553 if constexpr (AllowTag) {
19554 downcast_call_tag<getLocalizationTargetInfo> type_tag;
19555 func(type_tag);
19556 } else {
19557 func(static_cast<getLocalizationTargetInfo &>(*obj));
19558 }
19559 return true;
19560 case getLogStream::ID:
19561 if constexpr (AllowTag) {
19562 downcast_call_tag<getLogStream> type_tag;
19563 func(type_tag);
19564 } else {
19565 func(static_cast<getLogStream &>(*obj));
19566 }
19567 return true;
19568 case getLogTagVerbosityLevel::ID:
19569 if constexpr (AllowTag) {
19570 downcast_call_tag<getLogTagVerbosityLevel> type_tag;
19571 func(type_tag);
19572 } else {
19573 func(static_cast<getLogTagVerbosityLevel &>(*obj));
19574 }
19575 return true;
19576 case getLogTags::ID:
19577 if constexpr (AllowTag) {
19578 downcast_call_tag<getLogTags> type_tag;
19579 func(type_tag);
19580 } else {
19581 func(static_cast<getLogTags &>(*obj));
19582 }
19583 return true;
19584 case getLogVerbosityLevel::ID:
19585 if constexpr (AllowTag) {
19586 downcast_call_tag<getLogVerbosityLevel> type_tag;
19587 func(type_tag);
19588 } else {
19589 func(static_cast<getLogVerbosityLevel &>(*obj));
19590 }
19591 return true;
19592 case getLoginPasskeys::ID:
19593 if constexpr (AllowTag) {
19594 downcast_call_tag<getLoginPasskeys> type_tag;
19595 func(type_tag);
19596 } else {
19597 func(static_cast<getLoginPasskeys &>(*obj));
19598 }
19599 return true;
19600 case getLoginUrl::ID:
19601 if constexpr (AllowTag) {
19602 downcast_call_tag<getLoginUrl> type_tag;
19603 func(type_tag);
19604 } else {
19605 func(static_cast<getLoginUrl &>(*obj));
19606 }
19607 return true;
19608 case getLoginUrlInfo::ID:
19609 if constexpr (AllowTag) {
19610 downcast_call_tag<getLoginUrlInfo> type_tag;
19611 func(type_tag);
19612 } else {
19613 func(static_cast<getLoginUrlInfo &>(*obj));
19614 }
19615 return true;
19616 case getMainWebApp::ID:
19617 if constexpr (AllowTag) {
19618 downcast_call_tag<getMainWebApp> type_tag;
19619 func(type_tag);
19620 } else {
19621 func(static_cast<getMainWebApp &>(*obj));
19622 }
19623 return true;
19624 case getManagedBotAccessSettings::ID:
19625 if constexpr (AllowTag) {
19626 downcast_call_tag<getManagedBotAccessSettings> type_tag;
19627 func(type_tag);
19628 } else {
19629 func(static_cast<getManagedBotAccessSettings &>(*obj));
19630 }
19631 return true;
19632 case getManagedBotToken::ID:
19633 if constexpr (AllowTag) {
19634 downcast_call_tag<getManagedBotToken> type_tag;
19635 func(type_tag);
19636 } else {
19637 func(static_cast<getManagedBotToken &>(*obj));
19638 }
19639 return true;
19640 case getMapThumbnailFile::ID:
19641 if constexpr (AllowTag) {
19642 downcast_call_tag<getMapThumbnailFile> type_tag;
19643 func(type_tag);
19644 } else {
19645 func(static_cast<getMapThumbnailFile &>(*obj));
19646 }
19647 return true;
19648 case getMarkdownText::ID:
19649 if constexpr (AllowTag) {
19650 downcast_call_tag<getMarkdownText> type_tag;
19651 func(type_tag);
19652 } else {
19653 func(static_cast<getMarkdownText &>(*obj));
19654 }
19655 return true;
19656 case getMe::ID:
19657 if constexpr (AllowTag) {
19658 downcast_call_tag<getMe> type_tag;
19659 func(type_tag);
19660 } else {
19661 func(static_cast<getMe &>(*obj));
19662 }
19663 return true;
19664 case getMenuButton::ID:
19665 if constexpr (AllowTag) {
19666 downcast_call_tag<getMenuButton> type_tag;
19667 func(type_tag);
19668 } else {
19669 func(static_cast<getMenuButton &>(*obj));
19670 }
19671 return true;
19672 case getMessage::ID:
19673 if constexpr (AllowTag) {
19674 downcast_call_tag<getMessage> type_tag;
19675 func(type_tag);
19676 } else {
19677 func(static_cast<getMessage &>(*obj));
19678 }
19679 return true;
19680 case getMessageAddedReactions::ID:
19681 if constexpr (AllowTag) {
19682 downcast_call_tag<getMessageAddedReactions> type_tag;
19683 func(type_tag);
19684 } else {
19685 func(static_cast<getMessageAddedReactions &>(*obj));
19686 }
19687 return true;
19688 case getMessageAuthor::ID:
19689 if constexpr (AllowTag) {
19690 downcast_call_tag<getMessageAuthor> type_tag;
19691 func(type_tag);
19692 } else {
19693 func(static_cast<getMessageAuthor &>(*obj));
19694 }
19695 return true;
19696 case getMessageAvailableReactions::ID:
19697 if constexpr (AllowTag) {
19698 downcast_call_tag<getMessageAvailableReactions> type_tag;
19699 func(type_tag);
19700 } else {
19701 func(static_cast<getMessageAvailableReactions &>(*obj));
19702 }
19703 return true;
19704 case getMessageEffect::ID:
19705 if constexpr (AllowTag) {
19706 downcast_call_tag<getMessageEffect> type_tag;
19707 func(type_tag);
19708 } else {
19709 func(static_cast<getMessageEffect &>(*obj));
19710 }
19711 return true;
19712 case getMessageEmbeddingCode::ID:
19713 if constexpr (AllowTag) {
19714 downcast_call_tag<getMessageEmbeddingCode> type_tag;
19715 func(type_tag);
19716 } else {
19717 func(static_cast<getMessageEmbeddingCode &>(*obj));
19718 }
19719 return true;
19720 case getMessageFileType::ID:
19721 if constexpr (AllowTag) {
19722 downcast_call_tag<getMessageFileType> type_tag;
19723 func(type_tag);
19724 } else {
19725 func(static_cast<getMessageFileType &>(*obj));
19726 }
19727 return true;
19728 case getMessageImportConfirmationText::ID:
19729 if constexpr (AllowTag) {
19730 downcast_call_tag<getMessageImportConfirmationText> type_tag;
19731 func(type_tag);
19732 } else {
19733 func(static_cast<getMessageImportConfirmationText &>(*obj));
19734 }
19735 return true;
19736 case getMessageLink::ID:
19737 if constexpr (AllowTag) {
19738 downcast_call_tag<getMessageLink> type_tag;
19739 func(type_tag);
19740 } else {
19741 func(static_cast<getMessageLink &>(*obj));
19742 }
19743 return true;
19744 case getMessageLinkInfo::ID:
19745 if constexpr (AllowTag) {
19746 downcast_call_tag<getMessageLinkInfo> type_tag;
19747 func(type_tag);
19748 } else {
19749 func(static_cast<getMessageLinkInfo &>(*obj));
19750 }
19751 return true;
19752 case getMessageLocally::ID:
19753 if constexpr (AllowTag) {
19754 downcast_call_tag<getMessageLocally> type_tag;
19755 func(type_tag);
19756 } else {
19757 func(static_cast<getMessageLocally &>(*obj));
19758 }
19759 return true;
19760 case getMessageProperties::ID:
19761 if constexpr (AllowTag) {
19762 downcast_call_tag<getMessageProperties> type_tag;
19763 func(type_tag);
19764 } else {
19765 func(static_cast<getMessageProperties &>(*obj));
19766 }
19767 return true;
19768 case getMessagePublicForwards::ID:
19769 if constexpr (AllowTag) {
19770 downcast_call_tag<getMessagePublicForwards> type_tag;
19771 func(type_tag);
19772 } else {
19773 func(static_cast<getMessagePublicForwards &>(*obj));
19774 }
19775 return true;
19776 case getMessageReadDate::ID:
19777 if constexpr (AllowTag) {
19778 downcast_call_tag<getMessageReadDate> type_tag;
19779 func(type_tag);
19780 } else {
19781 func(static_cast<getMessageReadDate &>(*obj));
19782 }
19783 return true;
19784 case getMessageStatistics::ID:
19785 if constexpr (AllowTag) {
19786 downcast_call_tag<getMessageStatistics> type_tag;
19787 func(type_tag);
19788 } else {
19789 func(static_cast<getMessageStatistics &>(*obj));
19790 }
19791 return true;
19792 case getMessageThread::ID:
19793 if constexpr (AllowTag) {
19794 downcast_call_tag<getMessageThread> type_tag;
19795 func(type_tag);
19796 } else {
19797 func(static_cast<getMessageThread &>(*obj));
19798 }
19799 return true;
19800 case getMessageThreadHistory::ID:
19801 if constexpr (AllowTag) {
19802 downcast_call_tag<getMessageThreadHistory> type_tag;
19803 func(type_tag);
19804 } else {
19805 func(static_cast<getMessageThreadHistory &>(*obj));
19806 }
19807 return true;
19808 case getMessageViewers::ID:
19809 if constexpr (AllowTag) {
19810 downcast_call_tag<getMessageViewers> type_tag;
19811 func(type_tag);
19812 } else {
19813 func(static_cast<getMessageViewers &>(*obj));
19814 }
19815 return true;
19816 case getMessages::ID:
19817 if constexpr (AllowTag) {
19818 downcast_call_tag<getMessages> type_tag;
19819 func(type_tag);
19820 } else {
19821 func(static_cast<getMessages &>(*obj));
19822 }
19823 return true;
19824 case getNetworkStatistics::ID:
19825 if constexpr (AllowTag) {
19826 downcast_call_tag<getNetworkStatistics> type_tag;
19827 func(type_tag);
19828 } else {
19829 func(static_cast<getNetworkStatistics &>(*obj));
19830 }
19831 return true;
19832 case getNewChatPrivacySettings::ID:
19833 if constexpr (AllowTag) {
19834 downcast_call_tag<getNewChatPrivacySettings> type_tag;
19835 func(type_tag);
19836 } else {
19837 func(static_cast<getNewChatPrivacySettings &>(*obj));
19838 }
19839 return true;
19840 case getOauthLinkInfo::ID:
19841 if constexpr (AllowTag) {
19842 downcast_call_tag<getOauthLinkInfo> type_tag;
19843 func(type_tag);
19844 } else {
19845 func(static_cast<getOauthLinkInfo &>(*obj));
19846 }
19847 return true;
19848 case getOption::ID:
19849 if constexpr (AllowTag) {
19850 downcast_call_tag<getOption> type_tag;
19851 func(type_tag);
19852 } else {
19853 func(static_cast<getOption &>(*obj));
19854 }
19855 return true;
19856 case getOwnedBots::ID:
19857 if constexpr (AllowTag) {
19858 downcast_call_tag<getOwnedBots> type_tag;
19859 func(type_tag);
19860 } else {
19861 func(static_cast<getOwnedBots &>(*obj));
19862 }
19863 return true;
19864 case getOwnedStickerSets::ID:
19865 if constexpr (AllowTag) {
19866 downcast_call_tag<getOwnedStickerSets> type_tag;
19867 func(type_tag);
19868 } else {
19869 func(static_cast<getOwnedStickerSets &>(*obj));
19870 }
19871 return true;
19872 case getPaidMessageRevenue::ID:
19873 if constexpr (AllowTag) {
19874 downcast_call_tag<getPaidMessageRevenue> type_tag;
19875 func(type_tag);
19876 } else {
19877 func(static_cast<getPaidMessageRevenue &>(*obj));
19878 }
19879 return true;
19880 case getPasskeyParameters::ID:
19881 if constexpr (AllowTag) {
19882 downcast_call_tag<getPasskeyParameters> type_tag;
19883 func(type_tag);
19884 } else {
19885 func(static_cast<getPasskeyParameters &>(*obj));
19886 }
19887 return true;
19888 case getPassportAuthorizationForm::ID:
19889 if constexpr (AllowTag) {
19890 downcast_call_tag<getPassportAuthorizationForm> type_tag;
19891 func(type_tag);
19892 } else {
19893 func(static_cast<getPassportAuthorizationForm &>(*obj));
19894 }
19895 return true;
19896 case getPassportAuthorizationFormAvailableElements::ID:
19897 if constexpr (AllowTag) {
19898 downcast_call_tag<getPassportAuthorizationFormAvailableElements> type_tag;
19899 func(type_tag);
19900 } else {
19901 func(static_cast<getPassportAuthorizationFormAvailableElements &>(*obj));
19902 }
19903 return true;
19904 case getPassportElement::ID:
19905 if constexpr (AllowTag) {
19906 downcast_call_tag<getPassportElement> type_tag;
19907 func(type_tag);
19908 } else {
19909 func(static_cast<getPassportElement &>(*obj));
19910 }
19911 return true;
19912 case getPasswordState::ID:
19913 if constexpr (AllowTag) {
19914 downcast_call_tag<getPasswordState> type_tag;
19915 func(type_tag);
19916 } else {
19917 func(static_cast<getPasswordState &>(*obj));
19918 }
19919 return true;
19920 case getPaymentForm::ID:
19921 if constexpr (AllowTag) {
19922 downcast_call_tag<getPaymentForm> type_tag;
19923 func(type_tag);
19924 } else {
19925 func(static_cast<getPaymentForm &>(*obj));
19926 }
19927 return true;
19928 case getPaymentReceipt::ID:
19929 if constexpr (AllowTag) {
19930 downcast_call_tag<getPaymentReceipt> type_tag;
19931 func(type_tag);
19932 } else {
19933 func(static_cast<getPaymentReceipt &>(*obj));
19934 }
19935 return true;
19936 case getPhoneNumberInfo::ID:
19937 if constexpr (AllowTag) {
19938 downcast_call_tag<getPhoneNumberInfo> type_tag;
19939 func(type_tag);
19940 } else {
19941 func(static_cast<getPhoneNumberInfo &>(*obj));
19942 }
19943 return true;
19944 case getPhoneNumberInfoSync::ID:
19945 if constexpr (AllowTag) {
19946 downcast_call_tag<getPhoneNumberInfoSync> type_tag;
19947 func(type_tag);
19948 } else {
19949 func(static_cast<getPhoneNumberInfoSync &>(*obj));
19950 }
19951 return true;
19952 case getPollOptionProperties::ID:
19953 if constexpr (AllowTag) {
19954 downcast_call_tag<getPollOptionProperties> type_tag;
19955 func(type_tag);
19956 } else {
19957 func(static_cast<getPollOptionProperties &>(*obj));
19958 }
19959 return true;
19960 case getPollVoteStatistics::ID:
19961 if constexpr (AllowTag) {
19962 downcast_call_tag<getPollVoteStatistics> type_tag;
19963 func(type_tag);
19964 } else {
19965 func(static_cast<getPollVoteStatistics &>(*obj));
19966 }
19967 return true;
19968 case getPollVoters::ID:
19969 if constexpr (AllowTag) {
19970 downcast_call_tag<getPollVoters> type_tag;
19971 func(type_tag);
19972 } else {
19973 func(static_cast<getPollVoters &>(*obj));
19974 }
19975 return true;
19976 case getPreferredCountryLanguage::ID:
19977 if constexpr (AllowTag) {
19978 downcast_call_tag<getPreferredCountryLanguage> type_tag;
19979 func(type_tag);
19980 } else {
19981 func(static_cast<getPreferredCountryLanguage &>(*obj));
19982 }
19983 return true;
19984 case getPremiumFeatures::ID:
19985 if constexpr (AllowTag) {
19986 downcast_call_tag<getPremiumFeatures> type_tag;
19987 func(type_tag);
19988 } else {
19989 func(static_cast<getPremiumFeatures &>(*obj));
19990 }
19991 return true;
19992 case getPremiumGiftPaymentOptions::ID:
19993 if constexpr (AllowTag) {
19994 downcast_call_tag<getPremiumGiftPaymentOptions> type_tag;
19995 func(type_tag);
19996 } else {
19997 func(static_cast<getPremiumGiftPaymentOptions &>(*obj));
19998 }
19999 return true;
20000 case getPremiumGiveawayPaymentOptions::ID:
20001 if constexpr (AllowTag) {
20002 downcast_call_tag<getPremiumGiveawayPaymentOptions> type_tag;
20003 func(type_tag);
20004 } else {
20005 func(static_cast<getPremiumGiveawayPaymentOptions &>(*obj));
20006 }
20007 return true;
20008 case getPremiumInfoSticker::ID:
20009 if constexpr (AllowTag) {
20010 downcast_call_tag<getPremiumInfoSticker> type_tag;
20011 func(type_tag);
20012 } else {
20013 func(static_cast<getPremiumInfoSticker &>(*obj));
20014 }
20015 return true;
20016 case getPremiumLimit::ID:
20017 if constexpr (AllowTag) {
20018 downcast_call_tag<getPremiumLimit> type_tag;
20019 func(type_tag);
20020 } else {
20021 func(static_cast<getPremiumLimit &>(*obj));
20022 }
20023 return true;
20024 case getPremiumState::ID:
20025 if constexpr (AllowTag) {
20026 downcast_call_tag<getPremiumState> type_tag;
20027 func(type_tag);
20028 } else {
20029 func(static_cast<getPremiumState &>(*obj));
20030 }
20031 return true;
20032 case getPremiumStickerExamples::ID:
20033 if constexpr (AllowTag) {
20034 downcast_call_tag<getPremiumStickerExamples> type_tag;
20035 func(type_tag);
20036 } else {
20037 func(static_cast<getPremiumStickerExamples &>(*obj));
20038 }
20039 return true;
20040 case getPremiumStickers::ID:
20041 if constexpr (AllowTag) {
20042 downcast_call_tag<getPremiumStickers> type_tag;
20043 func(type_tag);
20044 } else {
20045 func(static_cast<getPremiumStickers &>(*obj));
20046 }
20047 return true;
20048 case getPreparedInlineMessage::ID:
20049 if constexpr (AllowTag) {
20050 downcast_call_tag<getPreparedInlineMessage> type_tag;
20051 func(type_tag);
20052 } else {
20053 func(static_cast<getPreparedInlineMessage &>(*obj));
20054 }
20055 return true;
20056 case getPreparedKeyboardButton::ID:
20057 if constexpr (AllowTag) {
20058 downcast_call_tag<getPreparedKeyboardButton> type_tag;
20059 func(type_tag);
20060 } else {
20061 func(static_cast<getPreparedKeyboardButton &>(*obj));
20062 }
20063 return true;
20064 case getProxies::ID:
20065 if constexpr (AllowTag) {
20066 downcast_call_tag<getProxies> type_tag;
20067 func(type_tag);
20068 } else {
20069 func(static_cast<getProxies &>(*obj));
20070 }
20071 return true;
20072 case getPublicPostSearchLimits::ID:
20073 if constexpr (AllowTag) {
20074 downcast_call_tag<getPublicPostSearchLimits> type_tag;
20075 func(type_tag);
20076 } else {
20077 func(static_cast<getPublicPostSearchLimits &>(*obj));
20078 }
20079 return true;
20080 case getPushReceiverId::ID:
20081 if constexpr (AllowTag) {
20082 downcast_call_tag<getPushReceiverId> type_tag;
20083 func(type_tag);
20084 } else {
20085 func(static_cast<getPushReceiverId &>(*obj));
20086 }
20087 return true;
20088 case getReadDatePrivacySettings::ID:
20089 if constexpr (AllowTag) {
20090 downcast_call_tag<getReadDatePrivacySettings> type_tag;
20091 func(type_tag);
20092 } else {
20093 func(static_cast<getReadDatePrivacySettings &>(*obj));
20094 }
20095 return true;
20096 case getReceivedGift::ID:
20097 if constexpr (AllowTag) {
20098 downcast_call_tag<getReceivedGift> type_tag;
20099 func(type_tag);
20100 } else {
20101 func(static_cast<getReceivedGift &>(*obj));
20102 }
20103 return true;
20104 case getReceivedGifts::ID:
20105 if constexpr (AllowTag) {
20106 downcast_call_tag<getReceivedGifts> type_tag;
20107 func(type_tag);
20108 } else {
20109 func(static_cast<getReceivedGifts &>(*obj));
20110 }
20111 return true;
20112 case getRecentEmojiStatuses::ID:
20113 if constexpr (AllowTag) {
20114 downcast_call_tag<getRecentEmojiStatuses> type_tag;
20115 func(type_tag);
20116 } else {
20117 func(static_cast<getRecentEmojiStatuses &>(*obj));
20118 }
20119 return true;
20120 case getRecentInlineBots::ID:
20121 if constexpr (AllowTag) {
20122 downcast_call_tag<getRecentInlineBots> type_tag;
20123 func(type_tag);
20124 } else {
20125 func(static_cast<getRecentInlineBots &>(*obj));
20126 }
20127 return true;
20128 case getRecentStickers::ID:
20129 if constexpr (AllowTag) {
20130 downcast_call_tag<getRecentStickers> type_tag;
20131 func(type_tag);
20132 } else {
20133 func(static_cast<getRecentStickers &>(*obj));
20134 }
20135 return true;
20136 case getRecentlyOpenedChats::ID:
20137 if constexpr (AllowTag) {
20138 downcast_call_tag<getRecentlyOpenedChats> type_tag;
20139 func(type_tag);
20140 } else {
20141 func(static_cast<getRecentlyOpenedChats &>(*obj));
20142 }
20143 return true;
20144 case getRecentlyVisitedTMeUrls::ID:
20145 if constexpr (AllowTag) {
20146 downcast_call_tag<getRecentlyVisitedTMeUrls> type_tag;
20147 func(type_tag);
20148 } else {
20149 func(static_cast<getRecentlyVisitedTMeUrls &>(*obj));
20150 }
20151 return true;
20152 case getRecommendedChatFolders::ID:
20153 if constexpr (AllowTag) {
20154 downcast_call_tag<getRecommendedChatFolders> type_tag;
20155 func(type_tag);
20156 } else {
20157 func(static_cast<getRecommendedChatFolders &>(*obj));
20158 }
20159 return true;
20160 case getRecommendedChats::ID:
20161 if constexpr (AllowTag) {
20162 downcast_call_tag<getRecommendedChats> type_tag;
20163 func(type_tag);
20164 } else {
20165 func(static_cast<getRecommendedChats &>(*obj));
20166 }
20167 return true;
20168 case getRecoveryEmailAddress::ID:
20169 if constexpr (AllowTag) {
20170 downcast_call_tag<getRecoveryEmailAddress> type_tag;
20171 func(type_tag);
20172 } else {
20173 func(static_cast<getRecoveryEmailAddress &>(*obj));
20174 }
20175 return true;
20176 case getRemoteFile::ID:
20177 if constexpr (AllowTag) {
20178 downcast_call_tag<getRemoteFile> type_tag;
20179 func(type_tag);
20180 } else {
20181 func(static_cast<getRemoteFile &>(*obj));
20182 }
20183 return true;
20184 case getRepliedMessage::ID:
20185 if constexpr (AllowTag) {
20186 downcast_call_tag<getRepliedMessage> type_tag;
20187 func(type_tag);
20188 } else {
20189 func(static_cast<getRepliedMessage &>(*obj));
20190 }
20191 return true;
20192 case getSavedAnimations::ID:
20193 if constexpr (AllowTag) {
20194 downcast_call_tag<getSavedAnimations> type_tag;
20195 func(type_tag);
20196 } else {
20197 func(static_cast<getSavedAnimations &>(*obj));
20198 }
20199 return true;
20200 case getSavedMessagesTags::ID:
20201 if constexpr (AllowTag) {
20202 downcast_call_tag<getSavedMessagesTags> type_tag;
20203 func(type_tag);
20204 } else {
20205 func(static_cast<getSavedMessagesTags &>(*obj));
20206 }
20207 return true;
20208 case getSavedMessagesTopicHistory::ID:
20209 if constexpr (AllowTag) {
20210 downcast_call_tag<getSavedMessagesTopicHistory> type_tag;
20211 func(type_tag);
20212 } else {
20213 func(static_cast<getSavedMessagesTopicHistory &>(*obj));
20214 }
20215 return true;
20216 case getSavedMessagesTopicMessageByDate::ID:
20217 if constexpr (AllowTag) {
20218 downcast_call_tag<getSavedMessagesTopicMessageByDate> type_tag;
20219 func(type_tag);
20220 } else {
20221 func(static_cast<getSavedMessagesTopicMessageByDate &>(*obj));
20222 }
20223 return true;
20224 case getSavedNotificationSound::ID:
20225 if constexpr (AllowTag) {
20226 downcast_call_tag<getSavedNotificationSound> type_tag;
20227 func(type_tag);
20228 } else {
20229 func(static_cast<getSavedNotificationSound &>(*obj));
20230 }
20231 return true;
20232 case getSavedNotificationSounds::ID:
20233 if constexpr (AllowTag) {
20234 downcast_call_tag<getSavedNotificationSounds> type_tag;
20235 func(type_tag);
20236 } else {
20237 func(static_cast<getSavedNotificationSounds &>(*obj));
20238 }
20239 return true;
20240 case getSavedOrderInfo::ID:
20241 if constexpr (AllowTag) {
20242 downcast_call_tag<getSavedOrderInfo> type_tag;
20243 func(type_tag);
20244 } else {
20245 func(static_cast<getSavedOrderInfo &>(*obj));
20246 }
20247 return true;
20248 case getScopeNotificationSettings::ID:
20249 if constexpr (AllowTag) {
20250 downcast_call_tag<getScopeNotificationSettings> type_tag;
20251 func(type_tag);
20252 } else {
20253 func(static_cast<getScopeNotificationSettings &>(*obj));
20254 }
20255 return true;
20256 case getSearchSponsoredChats::ID:
20257 if constexpr (AllowTag) {
20258 downcast_call_tag<getSearchSponsoredChats> type_tag;
20259 func(type_tag);
20260 } else {
20261 func(static_cast<getSearchSponsoredChats &>(*obj));
20262 }
20263 return true;
20264 case getSearchedForTags::ID:
20265 if constexpr (AllowTag) {
20266 downcast_call_tag<getSearchedForTags> type_tag;
20267 func(type_tag);
20268 } else {
20269 func(static_cast<getSearchedForTags &>(*obj));
20270 }
20271 return true;
20272 case getSecretChat::ID:
20273 if constexpr (AllowTag) {
20274 downcast_call_tag<getSecretChat> type_tag;
20275 func(type_tag);
20276 } else {
20277 func(static_cast<getSecretChat &>(*obj));
20278 }
20279 return true;
20280 case getStakeDiceState::ID:
20281 if constexpr (AllowTag) {
20282 downcast_call_tag<getStakeDiceState> type_tag;
20283 func(type_tag);
20284 } else {
20285 func(static_cast<getStakeDiceState &>(*obj));
20286 }
20287 return true;
20288 case getStarAdAccountUrl::ID:
20289 if constexpr (AllowTag) {
20290 downcast_call_tag<getStarAdAccountUrl> type_tag;
20291 func(type_tag);
20292 } else {
20293 func(static_cast<getStarAdAccountUrl &>(*obj));
20294 }
20295 return true;
20296 case getStarGiftPaymentOptions::ID:
20297 if constexpr (AllowTag) {
20298 downcast_call_tag<getStarGiftPaymentOptions> type_tag;
20299 func(type_tag);
20300 } else {
20301 func(static_cast<getStarGiftPaymentOptions &>(*obj));
20302 }
20303 return true;
20304 case getStarGiveawayPaymentOptions::ID:
20305 if constexpr (AllowTag) {
20306 downcast_call_tag<getStarGiveawayPaymentOptions> type_tag;
20307 func(type_tag);
20308 } else {
20309 func(static_cast<getStarGiveawayPaymentOptions &>(*obj));
20310 }
20311 return true;
20312 case getStarPaymentOptions::ID:
20313 if constexpr (AllowTag) {
20314 downcast_call_tag<getStarPaymentOptions> type_tag;
20315 func(type_tag);
20316 } else {
20317 func(static_cast<getStarPaymentOptions &>(*obj));
20318 }
20319 return true;
20320 case getStarRevenueStatistics::ID:
20321 if constexpr (AllowTag) {
20322 downcast_call_tag<getStarRevenueStatistics> type_tag;
20323 func(type_tag);
20324 } else {
20325 func(static_cast<getStarRevenueStatistics &>(*obj));
20326 }
20327 return true;
20328 case getStarSubscriptions::ID:
20329 if constexpr (AllowTag) {
20330 downcast_call_tag<getStarSubscriptions> type_tag;
20331 func(type_tag);
20332 } else {
20333 func(static_cast<getStarSubscriptions &>(*obj));
20334 }
20335 return true;
20336 case getStarTransactions::ID:
20337 if constexpr (AllowTag) {
20338 downcast_call_tag<getStarTransactions> type_tag;
20339 func(type_tag);
20340 } else {
20341 func(static_cast<getStarTransactions &>(*obj));
20342 }
20343 return true;
20344 case getStarWithdrawalUrl::ID:
20345 if constexpr (AllowTag) {
20346 downcast_call_tag<getStarWithdrawalUrl> type_tag;
20347 func(type_tag);
20348 } else {
20349 func(static_cast<getStarWithdrawalUrl &>(*obj));
20350 }
20351 return true;
20352 case getStatisticalGraph::ID:
20353 if constexpr (AllowTag) {
20354 downcast_call_tag<getStatisticalGraph> type_tag;
20355 func(type_tag);
20356 } else {
20357 func(static_cast<getStatisticalGraph &>(*obj));
20358 }
20359 return true;
20360 case getStickerEmojis::ID:
20361 if constexpr (AllowTag) {
20362 downcast_call_tag<getStickerEmojis> type_tag;
20363 func(type_tag);
20364 } else {
20365 func(static_cast<getStickerEmojis &>(*obj));
20366 }
20367 return true;
20368 case getStickerOutline::ID:
20369 if constexpr (AllowTag) {
20370 downcast_call_tag<getStickerOutline> type_tag;
20371 func(type_tag);
20372 } else {
20373 func(static_cast<getStickerOutline &>(*obj));
20374 }
20375 return true;
20376 case getStickerOutlineSvgPath::ID:
20377 if constexpr (AllowTag) {
20378 downcast_call_tag<getStickerOutlineSvgPath> type_tag;
20379 func(type_tag);
20380 } else {
20381 func(static_cast<getStickerOutlineSvgPath &>(*obj));
20382 }
20383 return true;
20384 case getStickerSet::ID:
20385 if constexpr (AllowTag) {
20386 downcast_call_tag<getStickerSet> type_tag;
20387 func(type_tag);
20388 } else {
20389 func(static_cast<getStickerSet &>(*obj));
20390 }
20391 return true;
20392 case getStickerSetName::ID:
20393 if constexpr (AllowTag) {
20394 downcast_call_tag<getStickerSetName> type_tag;
20395 func(type_tag);
20396 } else {
20397 func(static_cast<getStickerSetName &>(*obj));
20398 }
20399 return true;
20400 case getStickers::ID:
20401 if constexpr (AllowTag) {
20402 downcast_call_tag<getStickers> type_tag;
20403 func(type_tag);
20404 } else {
20405 func(static_cast<getStickers &>(*obj));
20406 }
20407 return true;
20408 case getStorageStatistics::ID:
20409 if constexpr (AllowTag) {
20410 downcast_call_tag<getStorageStatistics> type_tag;
20411 func(type_tag);
20412 } else {
20413 func(static_cast<getStorageStatistics &>(*obj));
20414 }
20415 return true;
20416 case getStorageStatisticsFast::ID:
20417 if constexpr (AllowTag) {
20418 downcast_call_tag<getStorageStatisticsFast> type_tag;
20419 func(type_tag);
20420 } else {
20421 func(static_cast<getStorageStatisticsFast &>(*obj));
20422 }
20423 return true;
20424 case getStory::ID:
20425 if constexpr (AllowTag) {
20426 downcast_call_tag<getStory> type_tag;
20427 func(type_tag);
20428 } else {
20429 func(static_cast<getStory &>(*obj));
20430 }
20431 return true;
20432 case getStoryAlbumStories::ID:
20433 if constexpr (AllowTag) {
20434 downcast_call_tag<getStoryAlbumStories> type_tag;
20435 func(type_tag);
20436 } else {
20437 func(static_cast<getStoryAlbumStories &>(*obj));
20438 }
20439 return true;
20440 case getStoryAvailableReactions::ID:
20441 if constexpr (AllowTag) {
20442 downcast_call_tag<getStoryAvailableReactions> type_tag;
20443 func(type_tag);
20444 } else {
20445 func(static_cast<getStoryAvailableReactions &>(*obj));
20446 }
20447 return true;
20448 case getStoryInteractions::ID:
20449 if constexpr (AllowTag) {
20450 downcast_call_tag<getStoryInteractions> type_tag;
20451 func(type_tag);
20452 } else {
20453 func(static_cast<getStoryInteractions &>(*obj));
20454 }
20455 return true;
20456 case getStoryNotificationSettingsExceptions::ID:
20457 if constexpr (AllowTag) {
20458 downcast_call_tag<getStoryNotificationSettingsExceptions> type_tag;
20459 func(type_tag);
20460 } else {
20461 func(static_cast<getStoryNotificationSettingsExceptions &>(*obj));
20462 }
20463 return true;
20464 case getStoryPublicForwards::ID:
20465 if constexpr (AllowTag) {
20466 downcast_call_tag<getStoryPublicForwards> type_tag;
20467 func(type_tag);
20468 } else {
20469 func(static_cast<getStoryPublicForwards &>(*obj));
20470 }
20471 return true;
20472 case getStoryStatistics::ID:
20473 if constexpr (AllowTag) {
20474 downcast_call_tag<getStoryStatistics> type_tag;
20475 func(type_tag);
20476 } else {
20477 func(static_cast<getStoryStatistics &>(*obj));
20478 }
20479 return true;
20480 case getSuggestedFileName::ID:
20481 if constexpr (AllowTag) {
20482 downcast_call_tag<getSuggestedFileName> type_tag;
20483 func(type_tag);
20484 } else {
20485 func(static_cast<getSuggestedFileName &>(*obj));
20486 }
20487 return true;
20488 case getSuggestedStickerSetName::ID:
20489 if constexpr (AllowTag) {
20490 downcast_call_tag<getSuggestedStickerSetName> type_tag;
20491 func(type_tag);
20492 } else {
20493 func(static_cast<getSuggestedStickerSetName &>(*obj));
20494 }
20495 return true;
20496 case getSuitableDiscussionChats::ID:
20497 if constexpr (AllowTag) {
20498 downcast_call_tag<getSuitableDiscussionChats> type_tag;
20499 func(type_tag);
20500 } else {
20501 func(static_cast<getSuitableDiscussionChats &>(*obj));
20502 }
20503 return true;
20504 case getSuitablePersonalChats::ID:
20505 if constexpr (AllowTag) {
20506 downcast_call_tag<getSuitablePersonalChats> type_tag;
20507 func(type_tag);
20508 } else {
20509 func(static_cast<getSuitablePersonalChats &>(*obj));
20510 }
20511 return true;
20512 case getSupergroup::ID:
20513 if constexpr (AllowTag) {
20514 downcast_call_tag<getSupergroup> type_tag;
20515 func(type_tag);
20516 } else {
20517 func(static_cast<getSupergroup &>(*obj));
20518 }
20519 return true;
20520 case getSupergroupFullInfo::ID:
20521 if constexpr (AllowTag) {
20522 downcast_call_tag<getSupergroupFullInfo> type_tag;
20523 func(type_tag);
20524 } else {
20525 func(static_cast<getSupergroupFullInfo &>(*obj));
20526 }
20527 return true;
20528 case getSupergroupMembers::ID:
20529 if constexpr (AllowTag) {
20530 downcast_call_tag<getSupergroupMembers> type_tag;
20531 func(type_tag);
20532 } else {
20533 func(static_cast<getSupergroupMembers &>(*obj));
20534 }
20535 return true;
20536 case getSupportName::ID:
20537 if constexpr (AllowTag) {
20538 downcast_call_tag<getSupportName> type_tag;
20539 func(type_tag);
20540 } else {
20541 func(static_cast<getSupportName &>(*obj));
20542 }
20543 return true;
20544 case getSupportUser::ID:
20545 if constexpr (AllowTag) {
20546 downcast_call_tag<getSupportUser> type_tag;
20547 func(type_tag);
20548 } else {
20549 func(static_cast<getSupportUser &>(*obj));
20550 }
20551 return true;
20552 case getTemporaryPasswordState::ID:
20553 if constexpr (AllowTag) {
20554 downcast_call_tag<getTemporaryPasswordState> type_tag;
20555 func(type_tag);
20556 } else {
20557 func(static_cast<getTemporaryPasswordState &>(*obj));
20558 }
20559 return true;
20560 case getTextEntities::ID:
20561 if constexpr (AllowTag) {
20562 downcast_call_tag<getTextEntities> type_tag;
20563 func(type_tag);
20564 } else {
20565 func(static_cast<getTextEntities &>(*obj));
20566 }
20567 return true;
20568 case getThemeParametersJsonString::ID:
20569 if constexpr (AllowTag) {
20570 downcast_call_tag<getThemeParametersJsonString> type_tag;
20571 func(type_tag);
20572 } else {
20573 func(static_cast<getThemeParametersJsonString &>(*obj));
20574 }
20575 return true;
20576 case getThemedChatEmojiStatuses::ID:
20577 if constexpr (AllowTag) {
20578 downcast_call_tag<getThemedChatEmojiStatuses> type_tag;
20579 func(type_tag);
20580 } else {
20581 func(static_cast<getThemedChatEmojiStatuses &>(*obj));
20582 }
20583 return true;
20584 case getThemedEmojiStatuses::ID:
20585 if constexpr (AllowTag) {
20586 downcast_call_tag<getThemedEmojiStatuses> type_tag;
20587 func(type_tag);
20588 } else {
20589 func(static_cast<getThemedEmojiStatuses &>(*obj));
20590 }
20591 return true;
20592 case getTimeZones::ID:
20593 if constexpr (AllowTag) {
20594 downcast_call_tag<getTimeZones> type_tag;
20595 func(type_tag);
20596 } else {
20597 func(static_cast<getTimeZones &>(*obj));
20598 }
20599 return true;
20600 case getTonRevenueStatistics::ID:
20601 if constexpr (AllowTag) {
20602 downcast_call_tag<getTonRevenueStatistics> type_tag;
20603 func(type_tag);
20604 } else {
20605 func(static_cast<getTonRevenueStatistics &>(*obj));
20606 }
20607 return true;
20608 case getTonTransactions::ID:
20609 if constexpr (AllowTag) {
20610 downcast_call_tag<getTonTransactions> type_tag;
20611 func(type_tag);
20612 } else {
20613 func(static_cast<getTonTransactions &>(*obj));
20614 }
20615 return true;
20616 case getTonWithdrawalUrl::ID:
20617 if constexpr (AllowTag) {
20618 downcast_call_tag<getTonWithdrawalUrl> type_tag;
20619 func(type_tag);
20620 } else {
20621 func(static_cast<getTonWithdrawalUrl &>(*obj));
20622 }
20623 return true;
20624 case getTopChats::ID:
20625 if constexpr (AllowTag) {
20626 downcast_call_tag<getTopChats> type_tag;
20627 func(type_tag);
20628 } else {
20629 func(static_cast<getTopChats &>(*obj));
20630 }
20631 return true;
20632 case getTrendingStickerSets::ID:
20633 if constexpr (AllowTag) {
20634 downcast_call_tag<getTrendingStickerSets> type_tag;
20635 func(type_tag);
20636 } else {
20637 func(static_cast<getTrendingStickerSets &>(*obj));
20638 }
20639 return true;
20640 case getUpgradedGift::ID:
20641 if constexpr (AllowTag) {
20642 downcast_call_tag<getUpgradedGift> type_tag;
20643 func(type_tag);
20644 } else {
20645 func(static_cast<getUpgradedGift &>(*obj));
20646 }
20647 return true;
20648 case getUpgradedGiftEmojiStatuses::ID:
20649 if constexpr (AllowTag) {
20650 downcast_call_tag<getUpgradedGiftEmojiStatuses> type_tag;
20651 func(type_tag);
20652 } else {
20653 func(static_cast<getUpgradedGiftEmojiStatuses &>(*obj));
20654 }
20655 return true;
20656 case getUpgradedGiftValueInfo::ID:
20657 if constexpr (AllowTag) {
20658 downcast_call_tag<getUpgradedGiftValueInfo> type_tag;
20659 func(type_tag);
20660 } else {
20661 func(static_cast<getUpgradedGiftValueInfo &>(*obj));
20662 }
20663 return true;
20664 case getUpgradedGiftVariants::ID:
20665 if constexpr (AllowTag) {
20666 downcast_call_tag<getUpgradedGiftVariants> type_tag;
20667 func(type_tag);
20668 } else {
20669 func(static_cast<getUpgradedGiftVariants &>(*obj));
20670 }
20671 return true;
20672 case getUpgradedGiftWithdrawalUrl::ID:
20673 if constexpr (AllowTag) {
20674 downcast_call_tag<getUpgradedGiftWithdrawalUrl> type_tag;
20675 func(type_tag);
20676 } else {
20677 func(static_cast<getUpgradedGiftWithdrawalUrl &>(*obj));
20678 }
20679 return true;
20680 case getUpgradedGiftsPromotionalAnimation::ID:
20681 if constexpr (AllowTag) {
20682 downcast_call_tag<getUpgradedGiftsPromotionalAnimation> type_tag;
20683 func(type_tag);
20684 } else {
20685 func(static_cast<getUpgradedGiftsPromotionalAnimation &>(*obj));
20686 }
20687 return true;
20688 case getUser::ID:
20689 if constexpr (AllowTag) {
20690 downcast_call_tag<getUser> type_tag;
20691 func(type_tag);
20692 } else {
20693 func(static_cast<getUser &>(*obj));
20694 }
20695 return true;
20696 case getUserChatBoosts::ID:
20697 if constexpr (AllowTag) {
20698 downcast_call_tag<getUserChatBoosts> type_tag;
20699 func(type_tag);
20700 } else {
20701 func(static_cast<getUserChatBoosts &>(*obj));
20702 }
20703 return true;
20704 case getUserFullInfo::ID:
20705 if constexpr (AllowTag) {
20706 downcast_call_tag<getUserFullInfo> type_tag;
20707 func(type_tag);
20708 } else {
20709 func(static_cast<getUserFullInfo &>(*obj));
20710 }
20711 return true;
20712 case getUserLink::ID:
20713 if constexpr (AllowTag) {
20714 downcast_call_tag<getUserLink> type_tag;
20715 func(type_tag);
20716 } else {
20717 func(static_cast<getUserLink &>(*obj));
20718 }
20719 return true;
20720 case getUserPrivacySettingRules::ID:
20721 if constexpr (AllowTag) {
20722 downcast_call_tag<getUserPrivacySettingRules> type_tag;
20723 func(type_tag);
20724 } else {
20725 func(static_cast<getUserPrivacySettingRules &>(*obj));
20726 }
20727 return true;
20728 case getUserProfileAudios::ID:
20729 if constexpr (AllowTag) {
20730 downcast_call_tag<getUserProfileAudios> type_tag;
20731 func(type_tag);
20732 } else {
20733 func(static_cast<getUserProfileAudios &>(*obj));
20734 }
20735 return true;
20736 case getUserProfilePhotos::ID:
20737 if constexpr (AllowTag) {
20738 downcast_call_tag<getUserProfilePhotos> type_tag;
20739 func(type_tag);
20740 } else {
20741 func(static_cast<getUserProfilePhotos &>(*obj));
20742 }
20743 return true;
20744 case getUserSupportInfo::ID:
20745 if constexpr (AllowTag) {
20746 downcast_call_tag<getUserSupportInfo> type_tag;
20747 func(type_tag);
20748 } else {
20749 func(static_cast<getUserSupportInfo &>(*obj));
20750 }
20751 return true;
20752 case getVideoChatAvailableParticipants::ID:
20753 if constexpr (AllowTag) {
20754 downcast_call_tag<getVideoChatAvailableParticipants> type_tag;
20755 func(type_tag);
20756 } else {
20757 func(static_cast<getVideoChatAvailableParticipants &>(*obj));
20758 }
20759 return true;
20760 case getVideoChatInviteLink::ID:
20761 if constexpr (AllowTag) {
20762 downcast_call_tag<getVideoChatInviteLink> type_tag;
20763 func(type_tag);
20764 } else {
20765 func(static_cast<getVideoChatInviteLink &>(*obj));
20766 }
20767 return true;
20768 case getVideoChatRtmpUrl::ID:
20769 if constexpr (AllowTag) {
20770 downcast_call_tag<getVideoChatRtmpUrl> type_tag;
20771 func(type_tag);
20772 } else {
20773 func(static_cast<getVideoChatRtmpUrl &>(*obj));
20774 }
20775 return true;
20776 case getVideoMessageAdvertisements::ID:
20777 if constexpr (AllowTag) {
20778 downcast_call_tag<getVideoMessageAdvertisements> type_tag;
20779 func(type_tag);
20780 } else {
20781 func(static_cast<getVideoMessageAdvertisements &>(*obj));
20782 }
20783 return true;
20784 case getWebAppLinkUrl::ID:
20785 if constexpr (AllowTag) {
20786 downcast_call_tag<getWebAppLinkUrl> type_tag;
20787 func(type_tag);
20788 } else {
20789 func(static_cast<getWebAppLinkUrl &>(*obj));
20790 }
20791 return true;
20792 case getWebAppPlaceholder::ID:
20793 if constexpr (AllowTag) {
20794 downcast_call_tag<getWebAppPlaceholder> type_tag;
20795 func(type_tag);
20796 } else {
20797 func(static_cast<getWebAppPlaceholder &>(*obj));
20798 }
20799 return true;
20800 case getWebAppUrl::ID:
20801 if constexpr (AllowTag) {
20802 downcast_call_tag<getWebAppUrl> type_tag;
20803 func(type_tag);
20804 } else {
20805 func(static_cast<getWebAppUrl &>(*obj));
20806 }
20807 return true;
20808 case getWebPageInstantView::ID:
20809 if constexpr (AllowTag) {
20810 downcast_call_tag<getWebPageInstantView> type_tag;
20811 func(type_tag);
20812 } else {
20813 func(static_cast<getWebPageInstantView &>(*obj));
20814 }
20815 return true;
20816 case giftPremiumWithStars::ID:
20817 if constexpr (AllowTag) {
20818 downcast_call_tag<giftPremiumWithStars> type_tag;
20819 func(type_tag);
20820 } else {
20821 func(static_cast<giftPremiumWithStars &>(*obj));
20822 }
20823 return true;
20824 case hideContactCloseBirthdays::ID:
20825 if constexpr (AllowTag) {
20826 downcast_call_tag<hideContactCloseBirthdays> type_tag;
20827 func(type_tag);
20828 } else {
20829 func(static_cast<hideContactCloseBirthdays &>(*obj));
20830 }
20831 return true;
20832 case hideSuggestedAction::ID:
20833 if constexpr (AllowTag) {
20834 downcast_call_tag<hideSuggestedAction> type_tag;
20835 func(type_tag);
20836 } else {
20837 func(static_cast<hideSuggestedAction &>(*obj));
20838 }
20839 return true;
20840 case importContacts::ID:
20841 if constexpr (AllowTag) {
20842 downcast_call_tag<importContacts> type_tag;
20843 func(type_tag);
20844 } else {
20845 func(static_cast<importContacts &>(*obj));
20846 }
20847 return true;
20848 case importMessages::ID:
20849 if constexpr (AllowTag) {
20850 downcast_call_tag<importMessages> type_tag;
20851 func(type_tag);
20852 } else {
20853 func(static_cast<importMessages &>(*obj));
20854 }
20855 return true;
20856 case increaseGiftAuctionBid::ID:
20857 if constexpr (AllowTag) {
20858 downcast_call_tag<increaseGiftAuctionBid> type_tag;
20859 func(type_tag);
20860 } else {
20861 func(static_cast<increaseGiftAuctionBid &>(*obj));
20862 }
20863 return true;
20864 case inviteGroupCallParticipant::ID:
20865 if constexpr (AllowTag) {
20866 downcast_call_tag<inviteGroupCallParticipant> type_tag;
20867 func(type_tag);
20868 } else {
20869 func(static_cast<inviteGroupCallParticipant &>(*obj));
20870 }
20871 return true;
20872 case inviteVideoChatParticipants::ID:
20873 if constexpr (AllowTag) {
20874 downcast_call_tag<inviteVideoChatParticipants> type_tag;
20875 func(type_tag);
20876 } else {
20877 func(static_cast<inviteVideoChatParticipants &>(*obj));
20878 }
20879 return true;
20880 case isLoginEmailAddressRequired::ID:
20881 if constexpr (AllowTag) {
20882 downcast_call_tag<isLoginEmailAddressRequired> type_tag;
20883 func(type_tag);
20884 } else {
20885 func(static_cast<isLoginEmailAddressRequired &>(*obj));
20886 }
20887 return true;
20888 case isProfileAudio::ID:
20889 if constexpr (AllowTag) {
20890 downcast_call_tag<isProfileAudio> type_tag;
20891 func(type_tag);
20892 } else {
20893 func(static_cast<isProfileAudio &>(*obj));
20894 }
20895 return true;
20896 case joinChat::ID:
20897 if constexpr (AllowTag) {
20898 downcast_call_tag<joinChat> type_tag;
20899 func(type_tag);
20900 } else {
20901 func(static_cast<joinChat &>(*obj));
20902 }
20903 return true;
20904 case joinChatByInviteLink::ID:
20905 if constexpr (AllowTag) {
20906 downcast_call_tag<joinChatByInviteLink> type_tag;
20907 func(type_tag);
20908 } else {
20909 func(static_cast<joinChatByInviteLink &>(*obj));
20910 }
20911 return true;
20912 case joinGroupCall::ID:
20913 if constexpr (AllowTag) {
20914 downcast_call_tag<joinGroupCall> type_tag;
20915 func(type_tag);
20916 } else {
20917 func(static_cast<joinGroupCall &>(*obj));
20918 }
20919 return true;
20920 case joinLiveStory::ID:
20921 if constexpr (AllowTag) {
20922 downcast_call_tag<joinLiveStory> type_tag;
20923 func(type_tag);
20924 } else {
20925 func(static_cast<joinLiveStory &>(*obj));
20926 }
20927 return true;
20928 case joinVideoChat::ID:
20929 if constexpr (AllowTag) {
20930 downcast_call_tag<joinVideoChat> type_tag;
20931 func(type_tag);
20932 } else {
20933 func(static_cast<joinVideoChat &>(*obj));
20934 }
20935 return true;
20936 case launchPrepaidGiveaway::ID:
20937 if constexpr (AllowTag) {
20938 downcast_call_tag<launchPrepaidGiveaway> type_tag;
20939 func(type_tag);
20940 } else {
20941 func(static_cast<launchPrepaidGiveaway &>(*obj));
20942 }
20943 return true;
20944 case leaveChat::ID:
20945 if constexpr (AllowTag) {
20946 downcast_call_tag<leaveChat> type_tag;
20947 func(type_tag);
20948 } else {
20949 func(static_cast<leaveChat &>(*obj));
20950 }
20951 return true;
20952 case leaveGroupCall::ID:
20953 if constexpr (AllowTag) {
20954 downcast_call_tag<leaveGroupCall> type_tag;
20955 func(type_tag);
20956 } else {
20957 func(static_cast<leaveGroupCall &>(*obj));
20958 }
20959 return true;
20960 case listenToAudio::ID:
20961 if constexpr (AllowTag) {
20962 downcast_call_tag<listenToAudio> type_tag;
20963 func(type_tag);
20964 } else {
20965 func(static_cast<listenToAudio &>(*obj));
20966 }
20967 return true;
20968 case loadActiveStories::ID:
20969 if constexpr (AllowTag) {
20970 downcast_call_tag<loadActiveStories> type_tag;
20971 func(type_tag);
20972 } else {
20973 func(static_cast<loadActiveStories &>(*obj));
20974 }
20975 return true;
20976 case loadChats::ID:
20977 if constexpr (AllowTag) {
20978 downcast_call_tag<loadChats> type_tag;
20979 func(type_tag);
20980 } else {
20981 func(static_cast<loadChats &>(*obj));
20982 }
20983 return true;
20984 case loadDirectMessagesChatTopics::ID:
20985 if constexpr (AllowTag) {
20986 downcast_call_tag<loadDirectMessagesChatTopics> type_tag;
20987 func(type_tag);
20988 } else {
20989 func(static_cast<loadDirectMessagesChatTopics &>(*obj));
20990 }
20991 return true;
20992 case loadGroupCallParticipants::ID:
20993 if constexpr (AllowTag) {
20994 downcast_call_tag<loadGroupCallParticipants> type_tag;
20995 func(type_tag);
20996 } else {
20997 func(static_cast<loadGroupCallParticipants &>(*obj));
20998 }
20999 return true;
21000 case loadQuickReplyShortcutMessages::ID:
21001 if constexpr (AllowTag) {
21002 downcast_call_tag<loadQuickReplyShortcutMessages> type_tag;
21003 func(type_tag);
21004 } else {
21005 func(static_cast<loadQuickReplyShortcutMessages &>(*obj));
21006 }
21007 return true;
21008 case loadQuickReplyShortcuts::ID:
21009 if constexpr (AllowTag) {
21010 downcast_call_tag<loadQuickReplyShortcuts> type_tag;
21011 func(type_tag);
21012 } else {
21013 func(static_cast<loadQuickReplyShortcuts &>(*obj));
21014 }
21015 return true;
21016 case loadSavedMessagesTopics::ID:
21017 if constexpr (AllowTag) {
21018 downcast_call_tag<loadSavedMessagesTopics> type_tag;
21019 func(type_tag);
21020 } else {
21021 func(static_cast<loadSavedMessagesTopics &>(*obj));
21022 }
21023 return true;
21024 case logOut::ID:
21025 if constexpr (AllowTag) {
21026 downcast_call_tag<logOut> type_tag;
21027 func(type_tag);
21028 } else {
21029 func(static_cast<logOut &>(*obj));
21030 }
21031 return true;
21032 case markChecklistTasksAsDone::ID:
21033 if constexpr (AllowTag) {
21034 downcast_call_tag<markChecklistTasksAsDone> type_tag;
21035 func(type_tag);
21036 } else {
21037 func(static_cast<markChecklistTasksAsDone &>(*obj));
21038 }
21039 return true;
21040 case openBotSimilarBot::ID:
21041 if constexpr (AllowTag) {
21042 downcast_call_tag<openBotSimilarBot> type_tag;
21043 func(type_tag);
21044 } else {
21045 func(static_cast<openBotSimilarBot &>(*obj));
21046 }
21047 return true;
21048 case openChat::ID:
21049 if constexpr (AllowTag) {
21050 downcast_call_tag<openChat> type_tag;
21051 func(type_tag);
21052 } else {
21053 func(static_cast<openChat &>(*obj));
21054 }
21055 return true;
21056 case openChatSimilarChat::ID:
21057 if constexpr (AllowTag) {
21058 downcast_call_tag<openChatSimilarChat> type_tag;
21059 func(type_tag);
21060 } else {
21061 func(static_cast<openChatSimilarChat &>(*obj));
21062 }
21063 return true;
21064 case openGiftAuction::ID:
21065 if constexpr (AllowTag) {
21066 downcast_call_tag<openGiftAuction> type_tag;
21067 func(type_tag);
21068 } else {
21069 func(static_cast<openGiftAuction &>(*obj));
21070 }
21071 return true;
21072 case openMessageContent::ID:
21073 if constexpr (AllowTag) {
21074 downcast_call_tag<openMessageContent> type_tag;
21075 func(type_tag);
21076 } else {
21077 func(static_cast<openMessageContent &>(*obj));
21078 }
21079 return true;
21080 case openSponsoredChat::ID:
21081 if constexpr (AllowTag) {
21082 downcast_call_tag<openSponsoredChat> type_tag;
21083 func(type_tag);
21084 } else {
21085 func(static_cast<openSponsoredChat &>(*obj));
21086 }
21087 return true;
21088 case openStory::ID:
21089 if constexpr (AllowTag) {
21090 downcast_call_tag<openStory> type_tag;
21091 func(type_tag);
21092 } else {
21093 func(static_cast<openStory &>(*obj));
21094 }
21095 return true;
21096 case openWebApp::ID:
21097 if constexpr (AllowTag) {
21098 downcast_call_tag<openWebApp> type_tag;
21099 func(type_tag);
21100 } else {
21101 func(static_cast<openWebApp &>(*obj));
21102 }
21103 return true;
21104 case optimizeStorage::ID:
21105 if constexpr (AllowTag) {
21106 downcast_call_tag<optimizeStorage> type_tag;
21107 func(type_tag);
21108 } else {
21109 func(static_cast<optimizeStorage &>(*obj));
21110 }
21111 return true;
21112 case parseMarkdown::ID:
21113 if constexpr (AllowTag) {
21114 downcast_call_tag<parseMarkdown> type_tag;
21115 func(type_tag);
21116 } else {
21117 func(static_cast<parseMarkdown &>(*obj));
21118 }
21119 return true;
21120 case parseTextEntities::ID:
21121 if constexpr (AllowTag) {
21122 downcast_call_tag<parseTextEntities> type_tag;
21123 func(type_tag);
21124 } else {
21125 func(static_cast<parseTextEntities &>(*obj));
21126 }
21127 return true;
21128 case pinChatMessage::ID:
21129 if constexpr (AllowTag) {
21130 downcast_call_tag<pinChatMessage> type_tag;
21131 func(type_tag);
21132 } else {
21133 func(static_cast<pinChatMessage &>(*obj));
21134 }
21135 return true;
21136 case pingProxy::ID:
21137 if constexpr (AllowTag) {
21138 downcast_call_tag<pingProxy> type_tag;
21139 func(type_tag);
21140 } else {
21141 func(static_cast<pingProxy &>(*obj));
21142 }
21143 return true;
21144 case placeGiftAuctionBid::ID:
21145 if constexpr (AllowTag) {
21146 downcast_call_tag<placeGiftAuctionBid> type_tag;
21147 func(type_tag);
21148 } else {
21149 func(static_cast<placeGiftAuctionBid &>(*obj));
21150 }
21151 return true;
21152 case postStory::ID:
21153 if constexpr (AllowTag) {
21154 downcast_call_tag<postStory> type_tag;
21155 func(type_tag);
21156 } else {
21157 func(static_cast<postStory &>(*obj));
21158 }
21159 return true;
21160 case preliminaryUploadFile::ID:
21161 if constexpr (AllowTag) {
21162 downcast_call_tag<preliminaryUploadFile> type_tag;
21163 func(type_tag);
21164 } else {
21165 func(static_cast<preliminaryUploadFile &>(*obj));
21166 }
21167 return true;
21168 case processChatFolderNewChats::ID:
21169 if constexpr (AllowTag) {
21170 downcast_call_tag<processChatFolderNewChats> type_tag;
21171 func(type_tag);
21172 } else {
21173 func(static_cast<processChatFolderNewChats &>(*obj));
21174 }
21175 return true;
21176 case processChatHasProtectedContentDisableRequest::ID:
21177 if constexpr (AllowTag) {
21178 downcast_call_tag<processChatHasProtectedContentDisableRequest> type_tag;
21179 func(type_tag);
21180 } else {
21181 func(static_cast<processChatHasProtectedContentDisableRequest &>(*obj));
21182 }
21183 return true;
21184 case processChatJoinRequest::ID:
21185 if constexpr (AllowTag) {
21186 downcast_call_tag<processChatJoinRequest> type_tag;
21187 func(type_tag);
21188 } else {
21189 func(static_cast<processChatJoinRequest &>(*obj));
21190 }
21191 return true;
21192 case processChatJoinRequests::ID:
21193 if constexpr (AllowTag) {
21194 downcast_call_tag<processChatJoinRequests> type_tag;
21195 func(type_tag);
21196 } else {
21197 func(static_cast<processChatJoinRequests &>(*obj));
21198 }
21199 return true;
21200 case processGiftPurchaseOffer::ID:
21201 if constexpr (AllowTag) {
21202 downcast_call_tag<processGiftPurchaseOffer> type_tag;
21203 func(type_tag);
21204 } else {
21205 func(static_cast<processGiftPurchaseOffer &>(*obj));
21206 }
21207 return true;
21208 case processPushNotification::ID:
21209 if constexpr (AllowTag) {
21210 downcast_call_tag<processPushNotification> type_tag;
21211 func(type_tag);
21212 } else {
21213 func(static_cast<processPushNotification &>(*obj));
21214 }
21215 return true;
21216 case rateSpeechRecognition::ID:
21217 if constexpr (AllowTag) {
21218 downcast_call_tag<rateSpeechRecognition> type_tag;
21219 func(type_tag);
21220 } else {
21221 func(static_cast<rateSpeechRecognition &>(*obj));
21222 }
21223 return true;
21224 case readAllChatMentions::ID:
21225 if constexpr (AllowTag) {
21226 downcast_call_tag<readAllChatMentions> type_tag;
21227 func(type_tag);
21228 } else {
21229 func(static_cast<readAllChatMentions &>(*obj));
21230 }
21231 return true;
21232 case readAllChatPollVotes::ID:
21233 if constexpr (AllowTag) {
21234 downcast_call_tag<readAllChatPollVotes> type_tag;
21235 func(type_tag);
21236 } else {
21237 func(static_cast<readAllChatPollVotes &>(*obj));
21238 }
21239 return true;
21240 case readAllChatReactions::ID:
21241 if constexpr (AllowTag) {
21242 downcast_call_tag<readAllChatReactions> type_tag;
21243 func(type_tag);
21244 } else {
21245 func(static_cast<readAllChatReactions &>(*obj));
21246 }
21247 return true;
21248 case readAllDirectMessagesChatTopicReactions::ID:
21249 if constexpr (AllowTag) {
21250 downcast_call_tag<readAllDirectMessagesChatTopicReactions> type_tag;
21251 func(type_tag);
21252 } else {
21253 func(static_cast<readAllDirectMessagesChatTopicReactions &>(*obj));
21254 }
21255 return true;
21256 case readAllForumTopicMentions::ID:
21257 if constexpr (AllowTag) {
21258 downcast_call_tag<readAllForumTopicMentions> type_tag;
21259 func(type_tag);
21260 } else {
21261 func(static_cast<readAllForumTopicMentions &>(*obj));
21262 }
21263 return true;
21264 case readAllForumTopicPollVotes::ID:
21265 if constexpr (AllowTag) {
21266 downcast_call_tag<readAllForumTopicPollVotes> type_tag;
21267 func(type_tag);
21268 } else {
21269 func(static_cast<readAllForumTopicPollVotes &>(*obj));
21270 }
21271 return true;
21272 case readAllForumTopicReactions::ID:
21273 if constexpr (AllowTag) {
21274 downcast_call_tag<readAllForumTopicReactions> type_tag;
21275 func(type_tag);
21276 } else {
21277 func(static_cast<readAllForumTopicReactions &>(*obj));
21278 }
21279 return true;
21280 case readBusinessMessage::ID:
21281 if constexpr (AllowTag) {
21282 downcast_call_tag<readBusinessMessage> type_tag;
21283 func(type_tag);
21284 } else {
21285 func(static_cast<readBusinessMessage &>(*obj));
21286 }
21287 return true;
21288 case readChatList::ID:
21289 if constexpr (AllowTag) {
21290 downcast_call_tag<readChatList> type_tag;
21291 func(type_tag);
21292 } else {
21293 func(static_cast<readChatList &>(*obj));
21294 }
21295 return true;
21296 case readFilePart::ID:
21297 if constexpr (AllowTag) {
21298 downcast_call_tag<readFilePart> type_tag;
21299 func(type_tag);
21300 } else {
21301 func(static_cast<readFilePart &>(*obj));
21302 }
21303 return true;
21304 case readdQuickReplyShortcutMessages::ID:
21305 if constexpr (AllowTag) {
21306 downcast_call_tag<readdQuickReplyShortcutMessages> type_tag;
21307 func(type_tag);
21308 } else {
21309 func(static_cast<readdQuickReplyShortcutMessages &>(*obj));
21310 }
21311 return true;
21312 case recognizeSpeech::ID:
21313 if constexpr (AllowTag) {
21314 downcast_call_tag<recognizeSpeech> type_tag;
21315 func(type_tag);
21316 } else {
21317 func(static_cast<recognizeSpeech &>(*obj));
21318 }
21319 return true;
21320 case recoverAuthenticationPassword::ID:
21321 if constexpr (AllowTag) {
21322 downcast_call_tag<recoverAuthenticationPassword> type_tag;
21323 func(type_tag);
21324 } else {
21325 func(static_cast<recoverAuthenticationPassword &>(*obj));
21326 }
21327 return true;
21328 case recoverPassword::ID:
21329 if constexpr (AllowTag) {
21330 downcast_call_tag<recoverPassword> type_tag;
21331 func(type_tag);
21332 } else {
21333 func(static_cast<recoverPassword &>(*obj));
21334 }
21335 return true;
21336 case refundStarPayment::ID:
21337 if constexpr (AllowTag) {
21338 downcast_call_tag<refundStarPayment> type_tag;
21339 func(type_tag);
21340 } else {
21341 func(static_cast<refundStarPayment &>(*obj));
21342 }
21343 return true;
21344 case registerDevice::ID:
21345 if constexpr (AllowTag) {
21346 downcast_call_tag<registerDevice> type_tag;
21347 func(type_tag);
21348 } else {
21349 func(static_cast<registerDevice &>(*obj));
21350 }
21351 return true;
21352 case registerUser::ID:
21353 if constexpr (AllowTag) {
21354 downcast_call_tag<registerUser> type_tag;
21355 func(type_tag);
21356 } else {
21357 func(static_cast<registerUser &>(*obj));
21358 }
21359 return true;
21360 case removeAllFilesFromDownloads::ID:
21361 if constexpr (AllowTag) {
21362 downcast_call_tag<removeAllFilesFromDownloads> type_tag;
21363 func(type_tag);
21364 } else {
21365 func(static_cast<removeAllFilesFromDownloads &>(*obj));
21366 }
21367 return true;
21368 case removeBusinessConnectedBotFromChat::ID:
21369 if constexpr (AllowTag) {
21370 downcast_call_tag<removeBusinessConnectedBotFromChat> type_tag;
21371 func(type_tag);
21372 } else {
21373 func(static_cast<removeBusinessConnectedBotFromChat &>(*obj));
21374 }
21375 return true;
21376 case removeChatActionBar::ID:
21377 if constexpr (AllowTag) {
21378 downcast_call_tag<removeChatActionBar> type_tag;
21379 func(type_tag);
21380 } else {
21381 func(static_cast<removeChatActionBar &>(*obj));
21382 }
21383 return true;
21384 case removeContacts::ID:
21385 if constexpr (AllowTag) {
21386 downcast_call_tag<removeContacts> type_tag;
21387 func(type_tag);
21388 } else {
21389 func(static_cast<removeContacts &>(*obj));
21390 }
21391 return true;
21392 case removeFavoriteSticker::ID:
21393 if constexpr (AllowTag) {
21394 downcast_call_tag<removeFavoriteSticker> type_tag;
21395 func(type_tag);
21396 } else {
21397 func(static_cast<removeFavoriteSticker &>(*obj));
21398 }
21399 return true;
21400 case removeFileFromDownloads::ID:
21401 if constexpr (AllowTag) {
21402 downcast_call_tag<removeFileFromDownloads> type_tag;
21403 func(type_tag);
21404 } else {
21405 func(static_cast<removeFileFromDownloads &>(*obj));
21406 }
21407 return true;
21408 case removeGiftCollectionGifts::ID:
21409 if constexpr (AllowTag) {
21410 downcast_call_tag<removeGiftCollectionGifts> type_tag;
21411 func(type_tag);
21412 } else {
21413 func(static_cast<removeGiftCollectionGifts &>(*obj));
21414 }
21415 return true;
21416 case removeInstalledBackground::ID:
21417 if constexpr (AllowTag) {
21418 downcast_call_tag<removeInstalledBackground> type_tag;
21419 func(type_tag);
21420 } else {
21421 func(static_cast<removeInstalledBackground &>(*obj));
21422 }
21423 return true;
21424 case removeLoginPasskey::ID:
21425 if constexpr (AllowTag) {
21426 downcast_call_tag<removeLoginPasskey> type_tag;
21427 func(type_tag);
21428 } else {
21429 func(static_cast<removeLoginPasskey &>(*obj));
21430 }
21431 return true;
21432 case removeMessageReaction::ID:
21433 if constexpr (AllowTag) {
21434 downcast_call_tag<removeMessageReaction> type_tag;
21435 func(type_tag);
21436 } else {
21437 func(static_cast<removeMessageReaction &>(*obj));
21438 }
21439 return true;
21440 case removeMessageSenderBotVerification::ID:
21441 if constexpr (AllowTag) {
21442 downcast_call_tag<removeMessageSenderBotVerification> type_tag;
21443 func(type_tag);
21444 } else {
21445 func(static_cast<removeMessageSenderBotVerification &>(*obj));
21446 }
21447 return true;
21448 case removeNotification::ID:
21449 if constexpr (AllowTag) {
21450 downcast_call_tag<removeNotification> type_tag;
21451 func(type_tag);
21452 } else {
21453 func(static_cast<removeNotification &>(*obj));
21454 }
21455 return true;
21456 case removeNotificationGroup::ID:
21457 if constexpr (AllowTag) {
21458 downcast_call_tag<removeNotificationGroup> type_tag;
21459 func(type_tag);
21460 } else {
21461 func(static_cast<removeNotificationGroup &>(*obj));
21462 }
21463 return true;
21464 case removePendingLiveStoryReactions::ID:
21465 if constexpr (AllowTag) {
21466 downcast_call_tag<removePendingLiveStoryReactions> type_tag;
21467 func(type_tag);
21468 } else {
21469 func(static_cast<removePendingLiveStoryReactions &>(*obj));
21470 }
21471 return true;
21472 case removePendingPaidMessageReactions::ID:
21473 if constexpr (AllowTag) {
21474 downcast_call_tag<removePendingPaidMessageReactions> type_tag;
21475 func(type_tag);
21476 } else {
21477 func(static_cast<removePendingPaidMessageReactions &>(*obj));
21478 }
21479 return true;
21480 case removeProfileAudio::ID:
21481 if constexpr (AllowTag) {
21482 downcast_call_tag<removeProfileAudio> type_tag;
21483 func(type_tag);
21484 } else {
21485 func(static_cast<removeProfileAudio &>(*obj));
21486 }
21487 return true;
21488 case removeProxy::ID:
21489 if constexpr (AllowTag) {
21490 downcast_call_tag<removeProxy> type_tag;
21491 func(type_tag);
21492 } else {
21493 func(static_cast<removeProxy &>(*obj));
21494 }
21495 return true;
21496 case removeRecentHashtag::ID:
21497 if constexpr (AllowTag) {
21498 downcast_call_tag<removeRecentHashtag> type_tag;
21499 func(type_tag);
21500 } else {
21501 func(static_cast<removeRecentHashtag &>(*obj));
21502 }
21503 return true;
21504 case removeRecentSticker::ID:
21505 if constexpr (AllowTag) {
21506 downcast_call_tag<removeRecentSticker> type_tag;
21507 func(type_tag);
21508 } else {
21509 func(static_cast<removeRecentSticker &>(*obj));
21510 }
21511 return true;
21512 case removeRecentlyFoundChat::ID:
21513 if constexpr (AllowTag) {
21514 downcast_call_tag<removeRecentlyFoundChat> type_tag;
21515 func(type_tag);
21516 } else {
21517 func(static_cast<removeRecentlyFoundChat &>(*obj));
21518 }
21519 return true;
21520 case removeSavedAnimation::ID:
21521 if constexpr (AllowTag) {
21522 downcast_call_tag<removeSavedAnimation> type_tag;
21523 func(type_tag);
21524 } else {
21525 func(static_cast<removeSavedAnimation &>(*obj));
21526 }
21527 return true;
21528 case removeSavedNotificationSound::ID:
21529 if constexpr (AllowTag) {
21530 downcast_call_tag<removeSavedNotificationSound> type_tag;
21531 func(type_tag);
21532 } else {
21533 func(static_cast<removeSavedNotificationSound &>(*obj));
21534 }
21535 return true;
21536 case removeSearchedForTag::ID:
21537 if constexpr (AllowTag) {
21538 downcast_call_tag<removeSearchedForTag> type_tag;
21539 func(type_tag);
21540 } else {
21541 func(static_cast<removeSearchedForTag &>(*obj));
21542 }
21543 return true;
21544 case removeStickerFromSet::ID:
21545 if constexpr (AllowTag) {
21546 downcast_call_tag<removeStickerFromSet> type_tag;
21547 func(type_tag);
21548 } else {
21549 func(static_cast<removeStickerFromSet &>(*obj));
21550 }
21551 return true;
21552 case removeStoryAlbumStories::ID:
21553 if constexpr (AllowTag) {
21554 downcast_call_tag<removeStoryAlbumStories> type_tag;
21555 func(type_tag);
21556 } else {
21557 func(static_cast<removeStoryAlbumStories &>(*obj));
21558 }
21559 return true;
21560 case removeTopChat::ID:
21561 if constexpr (AllowTag) {
21562 downcast_call_tag<removeTopChat> type_tag;
21563 func(type_tag);
21564 } else {
21565 func(static_cast<removeTopChat &>(*obj));
21566 }
21567 return true;
21568 case reorderActiveUsernames::ID:
21569 if constexpr (AllowTag) {
21570 downcast_call_tag<reorderActiveUsernames> type_tag;
21571 func(type_tag);
21572 } else {
21573 func(static_cast<reorderActiveUsernames &>(*obj));
21574 }
21575 return true;
21576 case reorderBotActiveUsernames::ID:
21577 if constexpr (AllowTag) {
21578 downcast_call_tag<reorderBotActiveUsernames> type_tag;
21579 func(type_tag);
21580 } else {
21581 func(static_cast<reorderBotActiveUsernames &>(*obj));
21582 }
21583 return true;
21584 case reorderBotMediaPreviews::ID:
21585 if constexpr (AllowTag) {
21586 downcast_call_tag<reorderBotMediaPreviews> type_tag;
21587 func(type_tag);
21588 } else {
21589 func(static_cast<reorderBotMediaPreviews &>(*obj));
21590 }
21591 return true;
21592 case reorderChatFolders::ID:
21593 if constexpr (AllowTag) {
21594 downcast_call_tag<reorderChatFolders> type_tag;
21595 func(type_tag);
21596 } else {
21597 func(static_cast<reorderChatFolders &>(*obj));
21598 }
21599 return true;
21600 case reorderGiftCollectionGifts::ID:
21601 if constexpr (AllowTag) {
21602 downcast_call_tag<reorderGiftCollectionGifts> type_tag;
21603 func(type_tag);
21604 } else {
21605 func(static_cast<reorderGiftCollectionGifts &>(*obj));
21606 }
21607 return true;
21608 case reorderGiftCollections::ID:
21609 if constexpr (AllowTag) {
21610 downcast_call_tag<reorderGiftCollections> type_tag;
21611 func(type_tag);
21612 } else {
21613 func(static_cast<reorderGiftCollections &>(*obj));
21614 }
21615 return true;
21616 case reorderInstalledStickerSets::ID:
21617 if constexpr (AllowTag) {
21618 downcast_call_tag<reorderInstalledStickerSets> type_tag;
21619 func(type_tag);
21620 } else {
21621 func(static_cast<reorderInstalledStickerSets &>(*obj));
21622 }
21623 return true;
21624 case reorderQuickReplyShortcuts::ID:
21625 if constexpr (AllowTag) {
21626 downcast_call_tag<reorderQuickReplyShortcuts> type_tag;
21627 func(type_tag);
21628 } else {
21629 func(static_cast<reorderQuickReplyShortcuts &>(*obj));
21630 }
21631 return true;
21632 case reorderStoryAlbumStories::ID:
21633 if constexpr (AllowTag) {
21634 downcast_call_tag<reorderStoryAlbumStories> type_tag;
21635 func(type_tag);
21636 } else {
21637 func(static_cast<reorderStoryAlbumStories &>(*obj));
21638 }
21639 return true;
21640 case reorderStoryAlbums::ID:
21641 if constexpr (AllowTag) {
21642 downcast_call_tag<reorderStoryAlbums> type_tag;
21643 func(type_tag);
21644 } else {
21645 func(static_cast<reorderStoryAlbums &>(*obj));
21646 }
21647 return true;
21648 case reorderSupergroupActiveUsernames::ID:
21649 if constexpr (AllowTag) {
21650 downcast_call_tag<reorderSupergroupActiveUsernames> type_tag;
21651 func(type_tag);
21652 } else {
21653 func(static_cast<reorderSupergroupActiveUsernames &>(*obj));
21654 }
21655 return true;
21656 case replaceLiveStoryRtmpUrl::ID:
21657 if constexpr (AllowTag) {
21658 downcast_call_tag<replaceLiveStoryRtmpUrl> type_tag;
21659 func(type_tag);
21660 } else {
21661 func(static_cast<replaceLiveStoryRtmpUrl &>(*obj));
21662 }
21663 return true;
21664 case replacePrimaryChatInviteLink::ID:
21665 if constexpr (AllowTag) {
21666 downcast_call_tag<replacePrimaryChatInviteLink> type_tag;
21667 func(type_tag);
21668 } else {
21669 func(static_cast<replacePrimaryChatInviteLink &>(*obj));
21670 }
21671 return true;
21672 case replaceStickerInSet::ID:
21673 if constexpr (AllowTag) {
21674 downcast_call_tag<replaceStickerInSet> type_tag;
21675 func(type_tag);
21676 } else {
21677 func(static_cast<replaceStickerInSet &>(*obj));
21678 }
21679 return true;
21680 case replaceVideoChatRtmpUrl::ID:
21681 if constexpr (AllowTag) {
21682 downcast_call_tag<replaceVideoChatRtmpUrl> type_tag;
21683 func(type_tag);
21684 } else {
21685 func(static_cast<replaceVideoChatRtmpUrl &>(*obj));
21686 }
21687 return true;
21688 case reportAuthenticationCodeMissing::ID:
21689 if constexpr (AllowTag) {
21690 downcast_call_tag<reportAuthenticationCodeMissing> type_tag;
21691 func(type_tag);
21692 } else {
21693 func(static_cast<reportAuthenticationCodeMissing &>(*obj));
21694 }
21695 return true;
21696 case reportChat::ID:
21697 if constexpr (AllowTag) {
21698 downcast_call_tag<reportChat> type_tag;
21699 func(type_tag);
21700 } else {
21701 func(static_cast<reportChat &>(*obj));
21702 }
21703 return true;
21704 case reportChatPhoto::ID:
21705 if constexpr (AllowTag) {
21706 downcast_call_tag<reportChatPhoto> type_tag;
21707 func(type_tag);
21708 } else {
21709 func(static_cast<reportChatPhoto &>(*obj));
21710 }
21711 return true;
21712 case reportChatSponsoredMessage::ID:
21713 if constexpr (AllowTag) {
21714 downcast_call_tag<reportChatSponsoredMessage> type_tag;
21715 func(type_tag);
21716 } else {
21717 func(static_cast<reportChatSponsoredMessage &>(*obj));
21718 }
21719 return true;
21720 case reportMessageReactions::ID:
21721 if constexpr (AllowTag) {
21722 downcast_call_tag<reportMessageReactions> type_tag;
21723 func(type_tag);
21724 } else {
21725 func(static_cast<reportMessageReactions &>(*obj));
21726 }
21727 return true;
21728 case reportPhoneNumberCodeMissing::ID:
21729 if constexpr (AllowTag) {
21730 downcast_call_tag<reportPhoneNumberCodeMissing> type_tag;
21731 func(type_tag);
21732 } else {
21733 func(static_cast<reportPhoneNumberCodeMissing &>(*obj));
21734 }
21735 return true;
21736 case reportSponsoredChat::ID:
21737 if constexpr (AllowTag) {
21738 downcast_call_tag<reportSponsoredChat> type_tag;
21739 func(type_tag);
21740 } else {
21741 func(static_cast<reportSponsoredChat &>(*obj));
21742 }
21743 return true;
21744 case reportStory::ID:
21745 if constexpr (AllowTag) {
21746 downcast_call_tag<reportStory> type_tag;
21747 func(type_tag);
21748 } else {
21749 func(static_cast<reportStory &>(*obj));
21750 }
21751 return true;
21752 case reportSupergroupAntiSpamFalsePositive::ID:
21753 if constexpr (AllowTag) {
21754 downcast_call_tag<reportSupergroupAntiSpamFalsePositive> type_tag;
21755 func(type_tag);
21756 } else {
21757 func(static_cast<reportSupergroupAntiSpamFalsePositive &>(*obj));
21758 }
21759 return true;
21760 case reportSupergroupSpam::ID:
21761 if constexpr (AllowTag) {
21762 downcast_call_tag<reportSupergroupSpam> type_tag;
21763 func(type_tag);
21764 } else {
21765 func(static_cast<reportSupergroupSpam &>(*obj));
21766 }
21767 return true;
21768 case reportVideoMessageAdvertisement::ID:
21769 if constexpr (AllowTag) {
21770 downcast_call_tag<reportVideoMessageAdvertisement> type_tag;
21771 func(type_tag);
21772 } else {
21773 func(static_cast<reportVideoMessageAdvertisement &>(*obj));
21774 }
21775 return true;
21776 case requestAuthenticationPasswordRecovery::ID:
21777 if constexpr (AllowTag) {
21778 downcast_call_tag<requestAuthenticationPasswordRecovery> type_tag;
21779 func(type_tag);
21780 } else {
21781 func(static_cast<requestAuthenticationPasswordRecovery &>(*obj));
21782 }
21783 return true;
21784 case requestPasswordRecovery::ID:
21785 if constexpr (AllowTag) {
21786 downcast_call_tag<requestPasswordRecovery> type_tag;
21787 func(type_tag);
21788 } else {
21789 func(static_cast<requestPasswordRecovery &>(*obj));
21790 }
21791 return true;
21792 case requestQrCodeAuthentication::ID:
21793 if constexpr (AllowTag) {
21794 downcast_call_tag<requestQrCodeAuthentication> type_tag;
21795 func(type_tag);
21796 } else {
21797 func(static_cast<requestQrCodeAuthentication &>(*obj));
21798 }
21799 return true;
21800 case resendAuthenticationCode::ID:
21801 if constexpr (AllowTag) {
21802 downcast_call_tag<resendAuthenticationCode> type_tag;
21803 func(type_tag);
21804 } else {
21805 func(static_cast<resendAuthenticationCode &>(*obj));
21806 }
21807 return true;
21808 case resendEmailAddressVerificationCode::ID:
21809 if constexpr (AllowTag) {
21810 downcast_call_tag<resendEmailAddressVerificationCode> type_tag;
21811 func(type_tag);
21812 } else {
21813 func(static_cast<resendEmailAddressVerificationCode &>(*obj));
21814 }
21815 return true;
21816 case resendLoginEmailAddressCode::ID:
21817 if constexpr (AllowTag) {
21818 downcast_call_tag<resendLoginEmailAddressCode> type_tag;
21819 func(type_tag);
21820 } else {
21821 func(static_cast<resendLoginEmailAddressCode &>(*obj));
21822 }
21823 return true;
21824 case resendMessages::ID:
21825 if constexpr (AllowTag) {
21826 downcast_call_tag<resendMessages> type_tag;
21827 func(type_tag);
21828 } else {
21829 func(static_cast<resendMessages &>(*obj));
21830 }
21831 return true;
21832 case resendPhoneNumberCode::ID:
21833 if constexpr (AllowTag) {
21834 downcast_call_tag<resendPhoneNumberCode> type_tag;
21835 func(type_tag);
21836 } else {
21837 func(static_cast<resendPhoneNumberCode &>(*obj));
21838 }
21839 return true;
21840 case resendRecoveryEmailAddressCode::ID:
21841 if constexpr (AllowTag) {
21842 downcast_call_tag<resendRecoveryEmailAddressCode> type_tag;
21843 func(type_tag);
21844 } else {
21845 func(static_cast<resendRecoveryEmailAddressCode &>(*obj));
21846 }
21847 return true;
21848 case resetAllNotificationSettings::ID:
21849 if constexpr (AllowTag) {
21850 downcast_call_tag<resetAllNotificationSettings> type_tag;
21851 func(type_tag);
21852 } else {
21853 func(static_cast<resetAllNotificationSettings &>(*obj));
21854 }
21855 return true;
21856 case resetAuthenticationEmailAddress::ID:
21857 if constexpr (AllowTag) {
21858 downcast_call_tag<resetAuthenticationEmailAddress> type_tag;
21859 func(type_tag);
21860 } else {
21861 func(static_cast<resetAuthenticationEmailAddress &>(*obj));
21862 }
21863 return true;
21864 case resetInstalledBackgrounds::ID:
21865 if constexpr (AllowTag) {
21866 downcast_call_tag<resetInstalledBackgrounds> type_tag;
21867 func(type_tag);
21868 } else {
21869 func(static_cast<resetInstalledBackgrounds &>(*obj));
21870 }
21871 return true;
21872 case resetNetworkStatistics::ID:
21873 if constexpr (AllowTag) {
21874 downcast_call_tag<resetNetworkStatistics> type_tag;
21875 func(type_tag);
21876 } else {
21877 func(static_cast<resetNetworkStatistics &>(*obj));
21878 }
21879 return true;
21880 case resetPassword::ID:
21881 if constexpr (AllowTag) {
21882 downcast_call_tag<resetPassword> type_tag;
21883 func(type_tag);
21884 } else {
21885 func(static_cast<resetPassword &>(*obj));
21886 }
21887 return true;
21888 case reuseStarSubscription::ID:
21889 if constexpr (AllowTag) {
21890 downcast_call_tag<reuseStarSubscription> type_tag;
21891 func(type_tag);
21892 } else {
21893 func(static_cast<reuseStarSubscription &>(*obj));
21894 }
21895 return true;
21896 case revokeChatInviteLink::ID:
21897 if constexpr (AllowTag) {
21898 downcast_call_tag<revokeChatInviteLink> type_tag;
21899 func(type_tag);
21900 } else {
21901 func(static_cast<revokeChatInviteLink &>(*obj));
21902 }
21903 return true;
21904 case revokeGroupCallInviteLink::ID:
21905 if constexpr (AllowTag) {
21906 downcast_call_tag<revokeGroupCallInviteLink> type_tag;
21907 func(type_tag);
21908 } else {
21909 func(static_cast<revokeGroupCallInviteLink &>(*obj));
21910 }
21911 return true;
21912 case saveApplicationLogEvent::ID:
21913 if constexpr (AllowTag) {
21914 downcast_call_tag<saveApplicationLogEvent> type_tag;
21915 func(type_tag);
21916 } else {
21917 func(static_cast<saveApplicationLogEvent &>(*obj));
21918 }
21919 return true;
21920 case savePreparedInlineMessage::ID:
21921 if constexpr (AllowTag) {
21922 downcast_call_tag<savePreparedInlineMessage> type_tag;
21923 func(type_tag);
21924 } else {
21925 func(static_cast<savePreparedInlineMessage &>(*obj));
21926 }
21927 return true;
21928 case savePreparedKeyboardButton::ID:
21929 if constexpr (AllowTag) {
21930 downcast_call_tag<savePreparedKeyboardButton> type_tag;
21931 func(type_tag);
21932 } else {
21933 func(static_cast<savePreparedKeyboardButton &>(*obj));
21934 }
21935 return true;
21936 case searchAffiliatePrograms::ID:
21937 if constexpr (AllowTag) {
21938 downcast_call_tag<searchAffiliatePrograms> type_tag;
21939 func(type_tag);
21940 } else {
21941 func(static_cast<searchAffiliatePrograms &>(*obj));
21942 }
21943 return true;
21944 case searchBackground::ID:
21945 if constexpr (AllowTag) {
21946 downcast_call_tag<searchBackground> type_tag;
21947 func(type_tag);
21948 } else {
21949 func(static_cast<searchBackground &>(*obj));
21950 }
21951 return true;
21952 case searchCallMessages::ID:
21953 if constexpr (AllowTag) {
21954 downcast_call_tag<searchCallMessages> type_tag;
21955 func(type_tag);
21956 } else {
21957 func(static_cast<searchCallMessages &>(*obj));
21958 }
21959 return true;
21960 case searchChatAffiliateProgram::ID:
21961 if constexpr (AllowTag) {
21962 downcast_call_tag<searchChatAffiliateProgram> type_tag;
21963 func(type_tag);
21964 } else {
21965 func(static_cast<searchChatAffiliateProgram &>(*obj));
21966 }
21967 return true;
21968 case searchChatMembers::ID:
21969 if constexpr (AllowTag) {
21970 downcast_call_tag<searchChatMembers> type_tag;
21971 func(type_tag);
21972 } else {
21973 func(static_cast<searchChatMembers &>(*obj));
21974 }
21975 return true;
21976 case searchChatMessages::ID:
21977 if constexpr (AllowTag) {
21978 downcast_call_tag<searchChatMessages> type_tag;
21979 func(type_tag);
21980 } else {
21981 func(static_cast<searchChatMessages &>(*obj));
21982 }
21983 return true;
21984 case searchChatRecentLocationMessages::ID:
21985 if constexpr (AllowTag) {
21986 downcast_call_tag<searchChatRecentLocationMessages> type_tag;
21987 func(type_tag);
21988 } else {
21989 func(static_cast<searchChatRecentLocationMessages &>(*obj));
21990 }
21991 return true;
21992 case searchChats::ID:
21993 if constexpr (AllowTag) {
21994 downcast_call_tag<searchChats> type_tag;
21995 func(type_tag);
21996 } else {
21997 func(static_cast<searchChats &>(*obj));
21998 }
21999 return true;
22000 case searchChatsOnServer::ID:
22001 if constexpr (AllowTag) {
22002 downcast_call_tag<searchChatsOnServer> type_tag;
22003 func(type_tag);
22004 } else {
22005 func(static_cast<searchChatsOnServer &>(*obj));
22006 }
22007 return true;
22008 case searchContacts::ID:
22009 if constexpr (AllowTag) {
22010 downcast_call_tag<searchContacts> type_tag;
22011 func(type_tag);
22012 } else {
22013 func(static_cast<searchContacts &>(*obj));
22014 }
22015 return true;
22016 case searchEmojis::ID:
22017 if constexpr (AllowTag) {
22018 downcast_call_tag<searchEmojis> type_tag;
22019 func(type_tag);
22020 } else {
22021 func(static_cast<searchEmojis &>(*obj));
22022 }
22023 return true;
22024 case searchFileDownloads::ID:
22025 if constexpr (AllowTag) {
22026 downcast_call_tag<searchFileDownloads> type_tag;
22027 func(type_tag);
22028 } else {
22029 func(static_cast<searchFileDownloads &>(*obj));
22030 }
22031 return true;
22032 case searchGiftsForResale::ID:
22033 if constexpr (AllowTag) {
22034 downcast_call_tag<searchGiftsForResale> type_tag;
22035 func(type_tag);
22036 } else {
22037 func(static_cast<searchGiftsForResale &>(*obj));
22038 }
22039 return true;
22040 case searchHashtags::ID:
22041 if constexpr (AllowTag) {
22042 downcast_call_tag<searchHashtags> type_tag;
22043 func(type_tag);
22044 } else {
22045 func(static_cast<searchHashtags &>(*obj));
22046 }
22047 return true;
22048 case searchInstalledStickerSets::ID:
22049 if constexpr (AllowTag) {
22050 downcast_call_tag<searchInstalledStickerSets> type_tag;
22051 func(type_tag);
22052 } else {
22053 func(static_cast<searchInstalledStickerSets &>(*obj));
22054 }
22055 return true;
22056 case searchMessages::ID:
22057 if constexpr (AllowTag) {
22058 downcast_call_tag<searchMessages> type_tag;
22059 func(type_tag);
22060 } else {
22061 func(static_cast<searchMessages &>(*obj));
22062 }
22063 return true;
22064 case searchOutgoingDocumentMessages::ID:
22065 if constexpr (AllowTag) {
22066 downcast_call_tag<searchOutgoingDocumentMessages> type_tag;
22067 func(type_tag);
22068 } else {
22069 func(static_cast<searchOutgoingDocumentMessages &>(*obj));
22070 }
22071 return true;
22072 case searchPublicChat::ID:
22073 if constexpr (AllowTag) {
22074 downcast_call_tag<searchPublicChat> type_tag;
22075 func(type_tag);
22076 } else {
22077 func(static_cast<searchPublicChat &>(*obj));
22078 }
22079 return true;
22080 case searchPublicChats::ID:
22081 if constexpr (AllowTag) {
22082 downcast_call_tag<searchPublicChats> type_tag;
22083 func(type_tag);
22084 } else {
22085 func(static_cast<searchPublicChats &>(*obj));
22086 }
22087 return true;
22088 case searchPublicMessagesByTag::ID:
22089 if constexpr (AllowTag) {
22090 downcast_call_tag<searchPublicMessagesByTag> type_tag;
22091 func(type_tag);
22092 } else {
22093 func(static_cast<searchPublicMessagesByTag &>(*obj));
22094 }
22095 return true;
22096 case searchPublicPosts::ID:
22097 if constexpr (AllowTag) {
22098 downcast_call_tag<searchPublicPosts> type_tag;
22099 func(type_tag);
22100 } else {
22101 func(static_cast<searchPublicPosts &>(*obj));
22102 }
22103 return true;
22104 case searchPublicStoriesByLocation::ID:
22105 if constexpr (AllowTag) {
22106 downcast_call_tag<searchPublicStoriesByLocation> type_tag;
22107 func(type_tag);
22108 } else {
22109 func(static_cast<searchPublicStoriesByLocation &>(*obj));
22110 }
22111 return true;
22112 case searchPublicStoriesByTag::ID:
22113 if constexpr (AllowTag) {
22114 downcast_call_tag<searchPublicStoriesByTag> type_tag;
22115 func(type_tag);
22116 } else {
22117 func(static_cast<searchPublicStoriesByTag &>(*obj));
22118 }
22119 return true;
22120 case searchPublicStoriesByVenue::ID:
22121 if constexpr (AllowTag) {
22122 downcast_call_tag<searchPublicStoriesByVenue> type_tag;
22123 func(type_tag);
22124 } else {
22125 func(static_cast<searchPublicStoriesByVenue &>(*obj));
22126 }
22127 return true;
22128 case searchQuote::ID:
22129 if constexpr (AllowTag) {
22130 downcast_call_tag<searchQuote> type_tag;
22131 func(type_tag);
22132 } else {
22133 func(static_cast<searchQuote &>(*obj));
22134 }
22135 return true;
22136 case searchRecentlyFoundChats::ID:
22137 if constexpr (AllowTag) {
22138 downcast_call_tag<searchRecentlyFoundChats> type_tag;
22139 func(type_tag);
22140 } else {
22141 func(static_cast<searchRecentlyFoundChats &>(*obj));
22142 }
22143 return true;
22144 case searchSavedMessages::ID:
22145 if constexpr (AllowTag) {
22146 downcast_call_tag<searchSavedMessages> type_tag;
22147 func(type_tag);
22148 } else {
22149 func(static_cast<searchSavedMessages &>(*obj));
22150 }
22151 return true;
22152 case searchSecretMessages::ID:
22153 if constexpr (AllowTag) {
22154 downcast_call_tag<searchSecretMessages> type_tag;
22155 func(type_tag);
22156 } else {
22157 func(static_cast<searchSecretMessages &>(*obj));
22158 }
22159 return true;
22160 case searchStickerSet::ID:
22161 if constexpr (AllowTag) {
22162 downcast_call_tag<searchStickerSet> type_tag;
22163 func(type_tag);
22164 } else {
22165 func(static_cast<searchStickerSet &>(*obj));
22166 }
22167 return true;
22168 case searchStickerSets::ID:
22169 if constexpr (AllowTag) {
22170 downcast_call_tag<searchStickerSets> type_tag;
22171 func(type_tag);
22172 } else {
22173 func(static_cast<searchStickerSets &>(*obj));
22174 }
22175 return true;
22176 case searchStickers::ID:
22177 if constexpr (AllowTag) {
22178 downcast_call_tag<searchStickers> type_tag;
22179 func(type_tag);
22180 } else {
22181 func(static_cast<searchStickers &>(*obj));
22182 }
22183 return true;
22184 case searchStringsByPrefix::ID:
22185 if constexpr (AllowTag) {
22186 downcast_call_tag<searchStringsByPrefix> type_tag;
22187 func(type_tag);
22188 } else {
22189 func(static_cast<searchStringsByPrefix &>(*obj));
22190 }
22191 return true;
22192 case searchUserByPhoneNumber::ID:
22193 if constexpr (AllowTag) {
22194 downcast_call_tag<searchUserByPhoneNumber> type_tag;
22195 func(type_tag);
22196 } else {
22197 func(static_cast<searchUserByPhoneNumber &>(*obj));
22198 }
22199 return true;
22200 case searchUserByToken::ID:
22201 if constexpr (AllowTag) {
22202 downcast_call_tag<searchUserByToken> type_tag;
22203 func(type_tag);
22204 } else {
22205 func(static_cast<searchUserByToken &>(*obj));
22206 }
22207 return true;
22208 case searchWebApp::ID:
22209 if constexpr (AllowTag) {
22210 downcast_call_tag<searchWebApp> type_tag;
22211 func(type_tag);
22212 } else {
22213 func(static_cast<searchWebApp &>(*obj));
22214 }
22215 return true;
22216 case sellGift::ID:
22217 if constexpr (AllowTag) {
22218 downcast_call_tag<sellGift> type_tag;
22219 func(type_tag);
22220 } else {
22221 func(static_cast<sellGift &>(*obj));
22222 }
22223 return true;
22224 case sendAuthenticationFirebaseSms::ID:
22225 if constexpr (AllowTag) {
22226 downcast_call_tag<sendAuthenticationFirebaseSms> type_tag;
22227 func(type_tag);
22228 } else {
22229 func(static_cast<sendAuthenticationFirebaseSms &>(*obj));
22230 }
22231 return true;
22232 case sendBotStartMessage::ID:
22233 if constexpr (AllowTag) {
22234 downcast_call_tag<sendBotStartMessage> type_tag;
22235 func(type_tag);
22236 } else {
22237 func(static_cast<sendBotStartMessage &>(*obj));
22238 }
22239 return true;
22240 case sendBusinessMessage::ID:
22241 if constexpr (AllowTag) {
22242 downcast_call_tag<sendBusinessMessage> type_tag;
22243 func(type_tag);
22244 } else {
22245 func(static_cast<sendBusinessMessage &>(*obj));
22246 }
22247 return true;
22248 case sendBusinessMessageAlbum::ID:
22249 if constexpr (AllowTag) {
22250 downcast_call_tag<sendBusinessMessageAlbum> type_tag;
22251 func(type_tag);
22252 } else {
22253 func(static_cast<sendBusinessMessageAlbum &>(*obj));
22254 }
22255 return true;
22256 case sendCallDebugInformation::ID:
22257 if constexpr (AllowTag) {
22258 downcast_call_tag<sendCallDebugInformation> type_tag;
22259 func(type_tag);
22260 } else {
22261 func(static_cast<sendCallDebugInformation &>(*obj));
22262 }
22263 return true;
22264 case sendCallLog::ID:
22265 if constexpr (AllowTag) {
22266 downcast_call_tag<sendCallLog> type_tag;
22267 func(type_tag);
22268 } else {
22269 func(static_cast<sendCallLog &>(*obj));
22270 }
22271 return true;
22272 case sendCallRating::ID:
22273 if constexpr (AllowTag) {
22274 downcast_call_tag<sendCallRating> type_tag;
22275 func(type_tag);
22276 } else {
22277 func(static_cast<sendCallRating &>(*obj));
22278 }
22279 return true;
22280 case sendCallSignalingData::ID:
22281 if constexpr (AllowTag) {
22282 downcast_call_tag<sendCallSignalingData> type_tag;
22283 func(type_tag);
22284 } else {
22285 func(static_cast<sendCallSignalingData &>(*obj));
22286 }
22287 return true;
22288 case sendChatAction::ID:
22289 if constexpr (AllowTag) {
22290 downcast_call_tag<sendChatAction> type_tag;
22291 func(type_tag);
22292 } else {
22293 func(static_cast<sendChatAction &>(*obj));
22294 }
22295 return true;
22296 case sendCustomRequest::ID:
22297 if constexpr (AllowTag) {
22298 downcast_call_tag<sendCustomRequest> type_tag;
22299 func(type_tag);
22300 } else {
22301 func(static_cast<sendCustomRequest &>(*obj));
22302 }
22303 return true;
22304 case sendEmailAddressVerificationCode::ID:
22305 if constexpr (AllowTag) {
22306 downcast_call_tag<sendEmailAddressVerificationCode> type_tag;
22307 func(type_tag);
22308 } else {
22309 func(static_cast<sendEmailAddressVerificationCode &>(*obj));
22310 }
22311 return true;
22312 case sendGift::ID:
22313 if constexpr (AllowTag) {
22314 downcast_call_tag<sendGift> type_tag;
22315 func(type_tag);
22316 } else {
22317 func(static_cast<sendGift &>(*obj));
22318 }
22319 return true;
22320 case sendGiftPurchaseOffer::ID:
22321 if constexpr (AllowTag) {
22322 downcast_call_tag<sendGiftPurchaseOffer> type_tag;
22323 func(type_tag);
22324 } else {
22325 func(static_cast<sendGiftPurchaseOffer &>(*obj));
22326 }
22327 return true;
22328 case sendGroupCallMessage::ID:
22329 if constexpr (AllowTag) {
22330 downcast_call_tag<sendGroupCallMessage> type_tag;
22331 func(type_tag);
22332 } else {
22333 func(static_cast<sendGroupCallMessage &>(*obj));
22334 }
22335 return true;
22336 case sendInlineQueryResultMessage::ID:
22337 if constexpr (AllowTag) {
22338 downcast_call_tag<sendInlineQueryResultMessage> type_tag;
22339 func(type_tag);
22340 } else {
22341 func(static_cast<sendInlineQueryResultMessage &>(*obj));
22342 }
22343 return true;
22344 case sendMessage::ID:
22345 if constexpr (AllowTag) {
22346 downcast_call_tag<sendMessage> type_tag;
22347 func(type_tag);
22348 } else {
22349 func(static_cast<sendMessage &>(*obj));
22350 }
22351 return true;
22352 case sendMessageAlbum::ID:
22353 if constexpr (AllowTag) {
22354 downcast_call_tag<sendMessageAlbum> type_tag;
22355 func(type_tag);
22356 } else {
22357 func(static_cast<sendMessageAlbum &>(*obj));
22358 }
22359 return true;
22360 case sendMessageViewMetrics::ID:
22361 if constexpr (AllowTag) {
22362 downcast_call_tag<sendMessageViewMetrics> type_tag;
22363 func(type_tag);
22364 } else {
22365 func(static_cast<sendMessageViewMetrics &>(*obj));
22366 }
22367 return true;
22368 case sendPassportAuthorizationForm::ID:
22369 if constexpr (AllowTag) {
22370 downcast_call_tag<sendPassportAuthorizationForm> type_tag;
22371 func(type_tag);
22372 } else {
22373 func(static_cast<sendPassportAuthorizationForm &>(*obj));
22374 }
22375 return true;
22376 case sendPaymentForm::ID:
22377 if constexpr (AllowTag) {
22378 downcast_call_tag<sendPaymentForm> type_tag;
22379 func(type_tag);
22380 } else {
22381 func(static_cast<sendPaymentForm &>(*obj));
22382 }
22383 return true;
22384 case sendPhoneNumberCode::ID:
22385 if constexpr (AllowTag) {
22386 downcast_call_tag<sendPhoneNumberCode> type_tag;
22387 func(type_tag);
22388 } else {
22389 func(static_cast<sendPhoneNumberCode &>(*obj));
22390 }
22391 return true;
22392 case sendPhoneNumberFirebaseSms::ID:
22393 if constexpr (AllowTag) {
22394 downcast_call_tag<sendPhoneNumberFirebaseSms> type_tag;
22395 func(type_tag);
22396 } else {
22397 func(static_cast<sendPhoneNumberFirebaseSms &>(*obj));
22398 }
22399 return true;
22400 case sendQuickReplyShortcutMessages::ID:
22401 if constexpr (AllowTag) {
22402 downcast_call_tag<sendQuickReplyShortcutMessages> type_tag;
22403 func(type_tag);
22404 } else {
22405 func(static_cast<sendQuickReplyShortcutMessages &>(*obj));
22406 }
22407 return true;
22408 case sendResoldGift::ID:
22409 if constexpr (AllowTag) {
22410 downcast_call_tag<sendResoldGift> type_tag;
22411 func(type_tag);
22412 } else {
22413 func(static_cast<sendResoldGift &>(*obj));
22414 }
22415 return true;
22416 case sendTextMessageDraft::ID:
22417 if constexpr (AllowTag) {
22418 downcast_call_tag<sendTextMessageDraft> type_tag;
22419 func(type_tag);
22420 } else {
22421 func(static_cast<sendTextMessageDraft &>(*obj));
22422 }
22423 return true;
22424 case sendWebAppCustomRequest::ID:
22425 if constexpr (AllowTag) {
22426 downcast_call_tag<sendWebAppCustomRequest> type_tag;
22427 func(type_tag);
22428 } else {
22429 func(static_cast<sendWebAppCustomRequest &>(*obj));
22430 }
22431 return true;
22432 case sendWebAppData::ID:
22433 if constexpr (AllowTag) {
22434 downcast_call_tag<sendWebAppData> type_tag;
22435 func(type_tag);
22436 } else {
22437 func(static_cast<sendWebAppData &>(*obj));
22438 }
22439 return true;
22440 case setAccentColor::ID:
22441 if constexpr (AllowTag) {
22442 downcast_call_tag<setAccentColor> type_tag;
22443 func(type_tag);
22444 } else {
22445 func(static_cast<setAccentColor &>(*obj));
22446 }
22447 return true;
22448 case setAccountTtl::ID:
22449 if constexpr (AllowTag) {
22450 downcast_call_tag<setAccountTtl> type_tag;
22451 func(type_tag);
22452 } else {
22453 func(static_cast<setAccountTtl &>(*obj));
22454 }
22455 return true;
22456 case setAlarm::ID:
22457 if constexpr (AllowTag) {
22458 downcast_call_tag<setAlarm> type_tag;
22459 func(type_tag);
22460 } else {
22461 func(static_cast<setAlarm &>(*obj));
22462 }
22463 return true;
22464 case setApplicationVerificationToken::ID:
22465 if constexpr (AllowTag) {
22466 downcast_call_tag<setApplicationVerificationToken> type_tag;
22467 func(type_tag);
22468 } else {
22469 func(static_cast<setApplicationVerificationToken &>(*obj));
22470 }
22471 return true;
22472 case setArchiveChatListSettings::ID:
22473 if constexpr (AllowTag) {
22474 downcast_call_tag<setArchiveChatListSettings> type_tag;
22475 func(type_tag);
22476 } else {
22477 func(static_cast<setArchiveChatListSettings &>(*obj));
22478 }
22479 return true;
22480 case setAuthenticationEmailAddress::ID:
22481 if constexpr (AllowTag) {
22482 downcast_call_tag<setAuthenticationEmailAddress> type_tag;
22483 func(type_tag);
22484 } else {
22485 func(static_cast<setAuthenticationEmailAddress &>(*obj));
22486 }
22487 return true;
22488 case setAuthenticationPhoneNumber::ID:
22489 if constexpr (AllowTag) {
22490 downcast_call_tag<setAuthenticationPhoneNumber> type_tag;
22491 func(type_tag);
22492 } else {
22493 func(static_cast<setAuthenticationPhoneNumber &>(*obj));
22494 }
22495 return true;
22496 case setAuthenticationPremiumPurchaseTransaction::ID:
22497 if constexpr (AllowTag) {
22498 downcast_call_tag<setAuthenticationPremiumPurchaseTransaction> type_tag;
22499 func(type_tag);
22500 } else {
22501 func(static_cast<setAuthenticationPremiumPurchaseTransaction &>(*obj));
22502 }
22503 return true;
22504 case setAutoDownloadSettings::ID:
22505 if constexpr (AllowTag) {
22506 downcast_call_tag<setAutoDownloadSettings> type_tag;
22507 func(type_tag);
22508 } else {
22509 func(static_cast<setAutoDownloadSettings &>(*obj));
22510 }
22511 return true;
22512 case setAutosaveSettings::ID:
22513 if constexpr (AllowTag) {
22514 downcast_call_tag<setAutosaveSettings> type_tag;
22515 func(type_tag);
22516 } else {
22517 func(static_cast<setAutosaveSettings &>(*obj));
22518 }
22519 return true;
22520 case setBio::ID:
22521 if constexpr (AllowTag) {
22522 downcast_call_tag<setBio> type_tag;
22523 func(type_tag);
22524 } else {
22525 func(static_cast<setBio &>(*obj));
22526 }
22527 return true;
22528 case setBirthdate::ID:
22529 if constexpr (AllowTag) {
22530 downcast_call_tag<setBirthdate> type_tag;
22531 func(type_tag);
22532 } else {
22533 func(static_cast<setBirthdate &>(*obj));
22534 }
22535 return true;
22536 case setBotInfoDescription::ID:
22537 if constexpr (AllowTag) {
22538 downcast_call_tag<setBotInfoDescription> type_tag;
22539 func(type_tag);
22540 } else {
22541 func(static_cast<setBotInfoDescription &>(*obj));
22542 }
22543 return true;
22544 case setBotInfoShortDescription::ID:
22545 if constexpr (AllowTag) {
22546 downcast_call_tag<setBotInfoShortDescription> type_tag;
22547 func(type_tag);
22548 } else {
22549 func(static_cast<setBotInfoShortDescription &>(*obj));
22550 }
22551 return true;
22552 case setBotName::ID:
22553 if constexpr (AllowTag) {
22554 downcast_call_tag<setBotName> type_tag;
22555 func(type_tag);
22556 } else {
22557 func(static_cast<setBotName &>(*obj));
22558 }
22559 return true;
22560 case setBotProfilePhoto::ID:
22561 if constexpr (AllowTag) {
22562 downcast_call_tag<setBotProfilePhoto> type_tag;
22563 func(type_tag);
22564 } else {
22565 func(static_cast<setBotProfilePhoto &>(*obj));
22566 }
22567 return true;
22568 case setBotUpdatesStatus::ID:
22569 if constexpr (AllowTag) {
22570 downcast_call_tag<setBotUpdatesStatus> type_tag;
22571 func(type_tag);
22572 } else {
22573 func(static_cast<setBotUpdatesStatus &>(*obj));
22574 }
22575 return true;
22576 case setBusinessAccountBio::ID:
22577 if constexpr (AllowTag) {
22578 downcast_call_tag<setBusinessAccountBio> type_tag;
22579 func(type_tag);
22580 } else {
22581 func(static_cast<setBusinessAccountBio &>(*obj));
22582 }
22583 return true;
22584 case setBusinessAccountGiftSettings::ID:
22585 if constexpr (AllowTag) {
22586 downcast_call_tag<setBusinessAccountGiftSettings> type_tag;
22587 func(type_tag);
22588 } else {
22589 func(static_cast<setBusinessAccountGiftSettings &>(*obj));
22590 }
22591 return true;
22592 case setBusinessAccountName::ID:
22593 if constexpr (AllowTag) {
22594 downcast_call_tag<setBusinessAccountName> type_tag;
22595 func(type_tag);
22596 } else {
22597 func(static_cast<setBusinessAccountName &>(*obj));
22598 }
22599 return true;
22600 case setBusinessAccountProfilePhoto::ID:
22601 if constexpr (AllowTag) {
22602 downcast_call_tag<setBusinessAccountProfilePhoto> type_tag;
22603 func(type_tag);
22604 } else {
22605 func(static_cast<setBusinessAccountProfilePhoto &>(*obj));
22606 }
22607 return true;
22608 case setBusinessAccountUsername::ID:
22609 if constexpr (AllowTag) {
22610 downcast_call_tag<setBusinessAccountUsername> type_tag;
22611 func(type_tag);
22612 } else {
22613 func(static_cast<setBusinessAccountUsername &>(*obj));
22614 }
22615 return true;
22616 case setBusinessAwayMessageSettings::ID:
22617 if constexpr (AllowTag) {
22618 downcast_call_tag<setBusinessAwayMessageSettings> type_tag;
22619 func(type_tag);
22620 } else {
22621 func(static_cast<setBusinessAwayMessageSettings &>(*obj));
22622 }
22623 return true;
22624 case setBusinessConnectedBot::ID:
22625 if constexpr (AllowTag) {
22626 downcast_call_tag<setBusinessConnectedBot> type_tag;
22627 func(type_tag);
22628 } else {
22629 func(static_cast<setBusinessConnectedBot &>(*obj));
22630 }
22631 return true;
22632 case setBusinessGreetingMessageSettings::ID:
22633 if constexpr (AllowTag) {
22634 downcast_call_tag<setBusinessGreetingMessageSettings> type_tag;
22635 func(type_tag);
22636 } else {
22637 func(static_cast<setBusinessGreetingMessageSettings &>(*obj));
22638 }
22639 return true;
22640 case setBusinessLocation::ID:
22641 if constexpr (AllowTag) {
22642 downcast_call_tag<setBusinessLocation> type_tag;
22643 func(type_tag);
22644 } else {
22645 func(static_cast<setBusinessLocation &>(*obj));
22646 }
22647 return true;
22648 case setBusinessMessageIsPinned::ID:
22649 if constexpr (AllowTag) {
22650 downcast_call_tag<setBusinessMessageIsPinned> type_tag;
22651 func(type_tag);
22652 } else {
22653 func(static_cast<setBusinessMessageIsPinned &>(*obj));
22654 }
22655 return true;
22656 case setBusinessOpeningHours::ID:
22657 if constexpr (AllowTag) {
22658 downcast_call_tag<setBusinessOpeningHours> type_tag;
22659 func(type_tag);
22660 } else {
22661 func(static_cast<setBusinessOpeningHours &>(*obj));
22662 }
22663 return true;
22664 case setBusinessStartPage::ID:
22665 if constexpr (AllowTag) {
22666 downcast_call_tag<setBusinessStartPage> type_tag;
22667 func(type_tag);
22668 } else {
22669 func(static_cast<setBusinessStartPage &>(*obj));
22670 }
22671 return true;
22672 case setChatAccentColor::ID:
22673 if constexpr (AllowTag) {
22674 downcast_call_tag<setChatAccentColor> type_tag;
22675 func(type_tag);
22676 } else {
22677 func(static_cast<setChatAccentColor &>(*obj));
22678 }
22679 return true;
22680 case setChatActiveStoriesList::ID:
22681 if constexpr (AllowTag) {
22682 downcast_call_tag<setChatActiveStoriesList> type_tag;
22683 func(type_tag);
22684 } else {
22685 func(static_cast<setChatActiveStoriesList &>(*obj));
22686 }
22687 return true;
22688 case setChatAffiliateProgram::ID:
22689 if constexpr (AllowTag) {
22690 downcast_call_tag<setChatAffiliateProgram> type_tag;
22691 func(type_tag);
22692 } else {
22693 func(static_cast<setChatAffiliateProgram &>(*obj));
22694 }
22695 return true;
22696 case setChatAvailableReactions::ID:
22697 if constexpr (AllowTag) {
22698 downcast_call_tag<setChatAvailableReactions> type_tag;
22699 func(type_tag);
22700 } else {
22701 func(static_cast<setChatAvailableReactions &>(*obj));
22702 }
22703 return true;
22704 case setChatBackground::ID:
22705 if constexpr (AllowTag) {
22706 downcast_call_tag<setChatBackground> type_tag;
22707 func(type_tag);
22708 } else {
22709 func(static_cast<setChatBackground &>(*obj));
22710 }
22711 return true;
22712 case setChatClientData::ID:
22713 if constexpr (AllowTag) {
22714 downcast_call_tag<setChatClientData> type_tag;
22715 func(type_tag);
22716 } else {
22717 func(static_cast<setChatClientData &>(*obj));
22718 }
22719 return true;
22720 case setChatDescription::ID:
22721 if constexpr (AllowTag) {
22722 downcast_call_tag<setChatDescription> type_tag;
22723 func(type_tag);
22724 } else {
22725 func(static_cast<setChatDescription &>(*obj));
22726 }
22727 return true;
22728 case setChatDirectMessagesGroup::ID:
22729 if constexpr (AllowTag) {
22730 downcast_call_tag<setChatDirectMessagesGroup> type_tag;
22731 func(type_tag);
22732 } else {
22733 func(static_cast<setChatDirectMessagesGroup &>(*obj));
22734 }
22735 return true;
22736 case setChatDiscussionGroup::ID:
22737 if constexpr (AllowTag) {
22738 downcast_call_tag<setChatDiscussionGroup> type_tag;
22739 func(type_tag);
22740 } else {
22741 func(static_cast<setChatDiscussionGroup &>(*obj));
22742 }
22743 return true;
22744 case setChatDraftMessage::ID:
22745 if constexpr (AllowTag) {
22746 downcast_call_tag<setChatDraftMessage> type_tag;
22747 func(type_tag);
22748 } else {
22749 func(static_cast<setChatDraftMessage &>(*obj));
22750 }
22751 return true;
22752 case setChatEmojiStatus::ID:
22753 if constexpr (AllowTag) {
22754 downcast_call_tag<setChatEmojiStatus> type_tag;
22755 func(type_tag);
22756 } else {
22757 func(static_cast<setChatEmojiStatus &>(*obj));
22758 }
22759 return true;
22760 case setChatLocation::ID:
22761 if constexpr (AllowTag) {
22762 downcast_call_tag<setChatLocation> type_tag;
22763 func(type_tag);
22764 } else {
22765 func(static_cast<setChatLocation &>(*obj));
22766 }
22767 return true;
22768 case setChatMemberStatus::ID:
22769 if constexpr (AllowTag) {
22770 downcast_call_tag<setChatMemberStatus> type_tag;
22771 func(type_tag);
22772 } else {
22773 func(static_cast<setChatMemberStatus &>(*obj));
22774 }
22775 return true;
22776 case setChatMemberTag::ID:
22777 if constexpr (AllowTag) {
22778 downcast_call_tag<setChatMemberTag> type_tag;
22779 func(type_tag);
22780 } else {
22781 func(static_cast<setChatMemberTag &>(*obj));
22782 }
22783 return true;
22784 case setChatMessageAutoDeleteTime::ID:
22785 if constexpr (AllowTag) {
22786 downcast_call_tag<setChatMessageAutoDeleteTime> type_tag;
22787 func(type_tag);
22788 } else {
22789 func(static_cast<setChatMessageAutoDeleteTime &>(*obj));
22790 }
22791 return true;
22792 case setChatMessageSender::ID:
22793 if constexpr (AllowTag) {
22794 downcast_call_tag<setChatMessageSender> type_tag;
22795 func(type_tag);
22796 } else {
22797 func(static_cast<setChatMessageSender &>(*obj));
22798 }
22799 return true;
22800 case setChatNotificationSettings::ID:
22801 if constexpr (AllowTag) {
22802 downcast_call_tag<setChatNotificationSettings> type_tag;
22803 func(type_tag);
22804 } else {
22805 func(static_cast<setChatNotificationSettings &>(*obj));
22806 }
22807 return true;
22808 case setChatPaidMessageStarCount::ID:
22809 if constexpr (AllowTag) {
22810 downcast_call_tag<setChatPaidMessageStarCount> type_tag;
22811 func(type_tag);
22812 } else {
22813 func(static_cast<setChatPaidMessageStarCount &>(*obj));
22814 }
22815 return true;
22816 case setChatPermissions::ID:
22817 if constexpr (AllowTag) {
22818 downcast_call_tag<setChatPermissions> type_tag;
22819 func(type_tag);
22820 } else {
22821 func(static_cast<setChatPermissions &>(*obj));
22822 }
22823 return true;
22824 case setChatPhoto::ID:
22825 if constexpr (AllowTag) {
22826 downcast_call_tag<setChatPhoto> type_tag;
22827 func(type_tag);
22828 } else {
22829 func(static_cast<setChatPhoto &>(*obj));
22830 }
22831 return true;
22832 case setChatPinnedStories::ID:
22833 if constexpr (AllowTag) {
22834 downcast_call_tag<setChatPinnedStories> type_tag;
22835 func(type_tag);
22836 } else {
22837 func(static_cast<setChatPinnedStories &>(*obj));
22838 }
22839 return true;
22840 case setChatProfileAccentColor::ID:
22841 if constexpr (AllowTag) {
22842 downcast_call_tag<setChatProfileAccentColor> type_tag;
22843 func(type_tag);
22844 } else {
22845 func(static_cast<setChatProfileAccentColor &>(*obj));
22846 }
22847 return true;
22848 case setChatSlowModeDelay::ID:
22849 if constexpr (AllowTag) {
22850 downcast_call_tag<setChatSlowModeDelay> type_tag;
22851 func(type_tag);
22852 } else {
22853 func(static_cast<setChatSlowModeDelay &>(*obj));
22854 }
22855 return true;
22856 case setChatTheme::ID:
22857 if constexpr (AllowTag) {
22858 downcast_call_tag<setChatTheme> type_tag;
22859 func(type_tag);
22860 } else {
22861 func(static_cast<setChatTheme &>(*obj));
22862 }
22863 return true;
22864 case setChatTitle::ID:
22865 if constexpr (AllowTag) {
22866 downcast_call_tag<setChatTitle> type_tag;
22867 func(type_tag);
22868 } else {
22869 func(static_cast<setChatTitle &>(*obj));
22870 }
22871 return true;
22872 case setCloseFriends::ID:
22873 if constexpr (AllowTag) {
22874 downcast_call_tag<setCloseFriends> type_tag;
22875 func(type_tag);
22876 } else {
22877 func(static_cast<setCloseFriends &>(*obj));
22878 }
22879 return true;
22880 case setCommands::ID:
22881 if constexpr (AllowTag) {
22882 downcast_call_tag<setCommands> type_tag;
22883 func(type_tag);
22884 } else {
22885 func(static_cast<setCommands &>(*obj));
22886 }
22887 return true;
22888 case setCustomEmojiStickerSetThumbnail::ID:
22889 if constexpr (AllowTag) {
22890 downcast_call_tag<setCustomEmojiStickerSetThumbnail> type_tag;
22891 func(type_tag);
22892 } else {
22893 func(static_cast<setCustomEmojiStickerSetThumbnail &>(*obj));
22894 }
22895 return true;
22896 case setCustomLanguagePack::ID:
22897 if constexpr (AllowTag) {
22898 downcast_call_tag<setCustomLanguagePack> type_tag;
22899 func(type_tag);
22900 } else {
22901 func(static_cast<setCustomLanguagePack &>(*obj));
22902 }
22903 return true;
22904 case setCustomLanguagePackString::ID:
22905 if constexpr (AllowTag) {
22906 downcast_call_tag<setCustomLanguagePackString> type_tag;
22907 func(type_tag);
22908 } else {
22909 func(static_cast<setCustomLanguagePackString &>(*obj));
22910 }
22911 return true;
22912 case setDatabaseEncryptionKey::ID:
22913 if constexpr (AllowTag) {
22914 downcast_call_tag<setDatabaseEncryptionKey> type_tag;
22915 func(type_tag);
22916 } else {
22917 func(static_cast<setDatabaseEncryptionKey &>(*obj));
22918 }
22919 return true;
22920 case setDefaultBackground::ID:
22921 if constexpr (AllowTag) {
22922 downcast_call_tag<setDefaultBackground> type_tag;
22923 func(type_tag);
22924 } else {
22925 func(static_cast<setDefaultBackground &>(*obj));
22926 }
22927 return true;
22928 case setDefaultChannelAdministratorRights::ID:
22929 if constexpr (AllowTag) {
22930 downcast_call_tag<setDefaultChannelAdministratorRights> type_tag;
22931 func(type_tag);
22932 } else {
22933 func(static_cast<setDefaultChannelAdministratorRights &>(*obj));
22934 }
22935 return true;
22936 case setDefaultGroupAdministratorRights::ID:
22937 if constexpr (AllowTag) {
22938 downcast_call_tag<setDefaultGroupAdministratorRights> type_tag;
22939 func(type_tag);
22940 } else {
22941 func(static_cast<setDefaultGroupAdministratorRights &>(*obj));
22942 }
22943 return true;
22944 case setDefaultMessageAutoDeleteTime::ID:
22945 if constexpr (AllowTag) {
22946 downcast_call_tag<setDefaultMessageAutoDeleteTime> type_tag;
22947 func(type_tag);
22948 } else {
22949 func(static_cast<setDefaultMessageAutoDeleteTime &>(*obj));
22950 }
22951 return true;
22952 case setDefaultReactionType::ID:
22953 if constexpr (AllowTag) {
22954 downcast_call_tag<setDefaultReactionType> type_tag;
22955 func(type_tag);
22956 } else {
22957 func(static_cast<setDefaultReactionType &>(*obj));
22958 }
22959 return true;
22960 case setDirectMessagesChatTopicIsMarkedAsUnread::ID:
22961 if constexpr (AllowTag) {
22962 downcast_call_tag<setDirectMessagesChatTopicIsMarkedAsUnread> type_tag;
22963 func(type_tag);
22964 } else {
22965 func(static_cast<setDirectMessagesChatTopicIsMarkedAsUnread &>(*obj));
22966 }
22967 return true;
22968 case setEmojiStatus::ID:
22969 if constexpr (AllowTag) {
22970 downcast_call_tag<setEmojiStatus> type_tag;
22971 func(type_tag);
22972 } else {
22973 func(static_cast<setEmojiStatus &>(*obj));
22974 }
22975 return true;
22976 case setFileGenerationProgress::ID:
22977 if constexpr (AllowTag) {
22978 downcast_call_tag<setFileGenerationProgress> type_tag;
22979 func(type_tag);
22980 } else {
22981 func(static_cast<setFileGenerationProgress &>(*obj));
22982 }
22983 return true;
22984 case setForumTopicNotificationSettings::ID:
22985 if constexpr (AllowTag) {
22986 downcast_call_tag<setForumTopicNotificationSettings> type_tag;
22987 func(type_tag);
22988 } else {
22989 func(static_cast<setForumTopicNotificationSettings &>(*obj));
22990 }
22991 return true;
22992 case setGameScore::ID:
22993 if constexpr (AllowTag) {
22994 downcast_call_tag<setGameScore> type_tag;
22995 func(type_tag);
22996 } else {
22997 func(static_cast<setGameScore &>(*obj));
22998 }
22999 return true;
23000 case setGiftCollectionName::ID:
23001 if constexpr (AllowTag) {
23002 downcast_call_tag<setGiftCollectionName> type_tag;
23003 func(type_tag);
23004 } else {
23005 func(static_cast<setGiftCollectionName &>(*obj));
23006 }
23007 return true;
23008 case setGiftResalePrice::ID:
23009 if constexpr (AllowTag) {
23010 downcast_call_tag<setGiftResalePrice> type_tag;
23011 func(type_tag);
23012 } else {
23013 func(static_cast<setGiftResalePrice &>(*obj));
23014 }
23015 return true;
23016 case setGiftSettings::ID:
23017 if constexpr (AllowTag) {
23018 downcast_call_tag<setGiftSettings> type_tag;
23019 func(type_tag);
23020 } else {
23021 func(static_cast<setGiftSettings &>(*obj));
23022 }
23023 return true;
23024 case setGroupCallPaidMessageStarCount::ID:
23025 if constexpr (AllowTag) {
23026 downcast_call_tag<setGroupCallPaidMessageStarCount> type_tag;
23027 func(type_tag);
23028 } else {
23029 func(static_cast<setGroupCallPaidMessageStarCount &>(*obj));
23030 }
23031 return true;
23032 case setGroupCallParticipantIsSpeaking::ID:
23033 if constexpr (AllowTag) {
23034 downcast_call_tag<setGroupCallParticipantIsSpeaking> type_tag;
23035 func(type_tag);
23036 } else {
23037 func(static_cast<setGroupCallParticipantIsSpeaking &>(*obj));
23038 }
23039 return true;
23040 case setGroupCallParticipantVolumeLevel::ID:
23041 if constexpr (AllowTag) {
23042 downcast_call_tag<setGroupCallParticipantVolumeLevel> type_tag;
23043 func(type_tag);
23044 } else {
23045 func(static_cast<setGroupCallParticipantVolumeLevel &>(*obj));
23046 }
23047 return true;
23048 case setInactiveSessionTtl::ID:
23049 if constexpr (AllowTag) {
23050 downcast_call_tag<setInactiveSessionTtl> type_tag;
23051 func(type_tag);
23052 } else {
23053 func(static_cast<setInactiveSessionTtl &>(*obj));
23054 }
23055 return true;
23056 case setInlineGameScore::ID:
23057 if constexpr (AllowTag) {
23058 downcast_call_tag<setInlineGameScore> type_tag;
23059 func(type_tag);
23060 } else {
23061 func(static_cast<setInlineGameScore &>(*obj));
23062 }
23063 return true;
23064 case setLiveStoryMessageSender::ID:
23065 if constexpr (AllowTag) {
23066 downcast_call_tag<setLiveStoryMessageSender> type_tag;
23067 func(type_tag);
23068 } else {
23069 func(static_cast<setLiveStoryMessageSender &>(*obj));
23070 }
23071 return true;
23072 case setLogStream::ID:
23073 if constexpr (AllowTag) {
23074 downcast_call_tag<setLogStream> type_tag;
23075 func(type_tag);
23076 } else {
23077 func(static_cast<setLogStream &>(*obj));
23078 }
23079 return true;
23080 case setLogTagVerbosityLevel::ID:
23081 if constexpr (AllowTag) {
23082 downcast_call_tag<setLogTagVerbosityLevel> type_tag;
23083 func(type_tag);
23084 } else {
23085 func(static_cast<setLogTagVerbosityLevel &>(*obj));
23086 }
23087 return true;
23088 case setLogVerbosityLevel::ID:
23089 if constexpr (AllowTag) {
23090 downcast_call_tag<setLogVerbosityLevel> type_tag;
23091 func(type_tag);
23092 } else {
23093 func(static_cast<setLogVerbosityLevel &>(*obj));
23094 }
23095 return true;
23096 case setLoginEmailAddress::ID:
23097 if constexpr (AllowTag) {
23098 downcast_call_tag<setLoginEmailAddress> type_tag;
23099 func(type_tag);
23100 } else {
23101 func(static_cast<setLoginEmailAddress &>(*obj));
23102 }
23103 return true;
23104 case setMainProfileTab::ID:
23105 if constexpr (AllowTag) {
23106 downcast_call_tag<setMainProfileTab> type_tag;
23107 func(type_tag);
23108 } else {
23109 func(static_cast<setMainProfileTab &>(*obj));
23110 }
23111 return true;
23112 case setManagedBotAccessSettings::ID:
23113 if constexpr (AllowTag) {
23114 downcast_call_tag<setManagedBotAccessSettings> type_tag;
23115 func(type_tag);
23116 } else {
23117 func(static_cast<setManagedBotAccessSettings &>(*obj));
23118 }
23119 return true;
23120 case setMenuButton::ID:
23121 if constexpr (AllowTag) {
23122 downcast_call_tag<setMenuButton> type_tag;
23123 func(type_tag);
23124 } else {
23125 func(static_cast<setMenuButton &>(*obj));
23126 }
23127 return true;
23128 case setMessageFactCheck::ID:
23129 if constexpr (AllowTag) {
23130 downcast_call_tag<setMessageFactCheck> type_tag;
23131 func(type_tag);
23132 } else {
23133 func(static_cast<setMessageFactCheck &>(*obj));
23134 }
23135 return true;
23136 case setMessageReactions::ID:
23137 if constexpr (AllowTag) {
23138 downcast_call_tag<setMessageReactions> type_tag;
23139 func(type_tag);
23140 } else {
23141 func(static_cast<setMessageReactions &>(*obj));
23142 }
23143 return true;
23144 case setMessageSenderBlockList::ID:
23145 if constexpr (AllowTag) {
23146 downcast_call_tag<setMessageSenderBlockList> type_tag;
23147 func(type_tag);
23148 } else {
23149 func(static_cast<setMessageSenderBlockList &>(*obj));
23150 }
23151 return true;
23152 case setMessageSenderBotVerification::ID:
23153 if constexpr (AllowTag) {
23154 downcast_call_tag<setMessageSenderBotVerification> type_tag;
23155 func(type_tag);
23156 } else {
23157 func(static_cast<setMessageSenderBotVerification &>(*obj));
23158 }
23159 return true;
23160 case setName::ID:
23161 if constexpr (AllowTag) {
23162 downcast_call_tag<setName> type_tag;
23163 func(type_tag);
23164 } else {
23165 func(static_cast<setName &>(*obj));
23166 }
23167 return true;
23168 case setNetworkType::ID:
23169 if constexpr (AllowTag) {
23170 downcast_call_tag<setNetworkType> type_tag;
23171 func(type_tag);
23172 } else {
23173 func(static_cast<setNetworkType &>(*obj));
23174 }
23175 return true;
23176 case setNewChatPrivacySettings::ID:
23177 if constexpr (AllowTag) {
23178 downcast_call_tag<setNewChatPrivacySettings> type_tag;
23179 func(type_tag);
23180 } else {
23181 func(static_cast<setNewChatPrivacySettings &>(*obj));
23182 }
23183 return true;
23184 case setOption::ID:
23185 if constexpr (AllowTag) {
23186 downcast_call_tag<setOption> type_tag;
23187 func(type_tag);
23188 } else {
23189 func(static_cast<setOption &>(*obj));
23190 }
23191 return true;
23192 case setPaidMessageReactionType::ID:
23193 if constexpr (AllowTag) {
23194 downcast_call_tag<setPaidMessageReactionType> type_tag;
23195 func(type_tag);
23196 } else {
23197 func(static_cast<setPaidMessageReactionType &>(*obj));
23198 }
23199 return true;
23200 case setPassportElement::ID:
23201 if constexpr (AllowTag) {
23202 downcast_call_tag<setPassportElement> type_tag;
23203 func(type_tag);
23204 } else {
23205 func(static_cast<setPassportElement &>(*obj));
23206 }
23207 return true;
23208 case setPassportElementErrors::ID:
23209 if constexpr (AllowTag) {
23210 downcast_call_tag<setPassportElementErrors> type_tag;
23211 func(type_tag);
23212 } else {
23213 func(static_cast<setPassportElementErrors &>(*obj));
23214 }
23215 return true;
23216 case setPassword::ID:
23217 if constexpr (AllowTag) {
23218 downcast_call_tag<setPassword> type_tag;
23219 func(type_tag);
23220 } else {
23221 func(static_cast<setPassword &>(*obj));
23222 }
23223 return true;
23224 case setPersonalChat::ID:
23225 if constexpr (AllowTag) {
23226 downcast_call_tag<setPersonalChat> type_tag;
23227 func(type_tag);
23228 } else {
23229 func(static_cast<setPersonalChat &>(*obj));
23230 }
23231 return true;
23232 case setPinnedChats::ID:
23233 if constexpr (AllowTag) {
23234 downcast_call_tag<setPinnedChats> type_tag;
23235 func(type_tag);
23236 } else {
23237 func(static_cast<setPinnedChats &>(*obj));
23238 }
23239 return true;
23240 case setPinnedForumTopics::ID:
23241 if constexpr (AllowTag) {
23242 downcast_call_tag<setPinnedForumTopics> type_tag;
23243 func(type_tag);
23244 } else {
23245 func(static_cast<setPinnedForumTopics &>(*obj));
23246 }
23247 return true;
23248 case setPinnedGifts::ID:
23249 if constexpr (AllowTag) {
23250 downcast_call_tag<setPinnedGifts> type_tag;
23251 func(type_tag);
23252 } else {
23253 func(static_cast<setPinnedGifts &>(*obj));
23254 }
23255 return true;
23256 case setPinnedSavedMessagesTopics::ID:
23257 if constexpr (AllowTag) {
23258 downcast_call_tag<setPinnedSavedMessagesTopics> type_tag;
23259 func(type_tag);
23260 } else {
23261 func(static_cast<setPinnedSavedMessagesTopics &>(*obj));
23262 }
23263 return true;
23264 case setPollAnswer::ID:
23265 if constexpr (AllowTag) {
23266 downcast_call_tag<setPollAnswer> type_tag;
23267 func(type_tag);
23268 } else {
23269 func(static_cast<setPollAnswer &>(*obj));
23270 }
23271 return true;
23272 case setProfileAccentColor::ID:
23273 if constexpr (AllowTag) {
23274 downcast_call_tag<setProfileAccentColor> type_tag;
23275 func(type_tag);
23276 } else {
23277 func(static_cast<setProfileAccentColor &>(*obj));
23278 }
23279 return true;
23280 case setProfileAudioPosition::ID:
23281 if constexpr (AllowTag) {
23282 downcast_call_tag<setProfileAudioPosition> type_tag;
23283 func(type_tag);
23284 } else {
23285 func(static_cast<setProfileAudioPosition &>(*obj));
23286 }
23287 return true;
23288 case setProfilePhoto::ID:
23289 if constexpr (AllowTag) {
23290 downcast_call_tag<setProfilePhoto> type_tag;
23291 func(type_tag);
23292 } else {
23293 func(static_cast<setProfilePhoto &>(*obj));
23294 }
23295 return true;
23296 case setQuickReplyShortcutName::ID:
23297 if constexpr (AllowTag) {
23298 downcast_call_tag<setQuickReplyShortcutName> type_tag;
23299 func(type_tag);
23300 } else {
23301 func(static_cast<setQuickReplyShortcutName &>(*obj));
23302 }
23303 return true;
23304 case setReactionNotificationSettings::ID:
23305 if constexpr (AllowTag) {
23306 downcast_call_tag<setReactionNotificationSettings> type_tag;
23307 func(type_tag);
23308 } else {
23309 func(static_cast<setReactionNotificationSettings &>(*obj));
23310 }
23311 return true;
23312 case setReadDatePrivacySettings::ID:
23313 if constexpr (AllowTag) {
23314 downcast_call_tag<setReadDatePrivacySettings> type_tag;
23315 func(type_tag);
23316 } else {
23317 func(static_cast<setReadDatePrivacySettings &>(*obj));
23318 }
23319 return true;
23320 case setRecoveryEmailAddress::ID:
23321 if constexpr (AllowTag) {
23322 downcast_call_tag<setRecoveryEmailAddress> type_tag;
23323 func(type_tag);
23324 } else {
23325 func(static_cast<setRecoveryEmailAddress &>(*obj));
23326 }
23327 return true;
23328 case setSavedMessagesTagLabel::ID:
23329 if constexpr (AllowTag) {
23330 downcast_call_tag<setSavedMessagesTagLabel> type_tag;
23331 func(type_tag);
23332 } else {
23333 func(static_cast<setSavedMessagesTagLabel &>(*obj));
23334 }
23335 return true;
23336 case setScopeNotificationSettings::ID:
23337 if constexpr (AllowTag) {
23338 downcast_call_tag<setScopeNotificationSettings> type_tag;
23339 func(type_tag);
23340 } else {
23341 func(static_cast<setScopeNotificationSettings &>(*obj));
23342 }
23343 return true;
23344 case setStickerEmojis::ID:
23345 if constexpr (AllowTag) {
23346 downcast_call_tag<setStickerEmojis> type_tag;
23347 func(type_tag);
23348 } else {
23349 func(static_cast<setStickerEmojis &>(*obj));
23350 }
23351 return true;
23352 case setStickerKeywords::ID:
23353 if constexpr (AllowTag) {
23354 downcast_call_tag<setStickerKeywords> type_tag;
23355 func(type_tag);
23356 } else {
23357 func(static_cast<setStickerKeywords &>(*obj));
23358 }
23359 return true;
23360 case setStickerMaskPosition::ID:
23361 if constexpr (AllowTag) {
23362 downcast_call_tag<setStickerMaskPosition> type_tag;
23363 func(type_tag);
23364 } else {
23365 func(static_cast<setStickerMaskPosition &>(*obj));
23366 }
23367 return true;
23368 case setStickerPositionInSet::ID:
23369 if constexpr (AllowTag) {
23370 downcast_call_tag<setStickerPositionInSet> type_tag;
23371 func(type_tag);
23372 } else {
23373 func(static_cast<setStickerPositionInSet &>(*obj));
23374 }
23375 return true;
23376 case setStickerSetThumbnail::ID:
23377 if constexpr (AllowTag) {
23378 downcast_call_tag<setStickerSetThumbnail> type_tag;
23379 func(type_tag);
23380 } else {
23381 func(static_cast<setStickerSetThumbnail &>(*obj));
23382 }
23383 return true;
23384 case setStickerSetTitle::ID:
23385 if constexpr (AllowTag) {
23386 downcast_call_tag<setStickerSetTitle> type_tag;
23387 func(type_tag);
23388 } else {
23389 func(static_cast<setStickerSetTitle &>(*obj));
23390 }
23391 return true;
23392 case setStoryAlbumName::ID:
23393 if constexpr (AllowTag) {
23394 downcast_call_tag<setStoryAlbumName> type_tag;
23395 func(type_tag);
23396 } else {
23397 func(static_cast<setStoryAlbumName &>(*obj));
23398 }
23399 return true;
23400 case setStoryPrivacySettings::ID:
23401 if constexpr (AllowTag) {
23402 downcast_call_tag<setStoryPrivacySettings> type_tag;
23403 func(type_tag);
23404 } else {
23405 func(static_cast<setStoryPrivacySettings &>(*obj));
23406 }
23407 return true;
23408 case setStoryReaction::ID:
23409 if constexpr (AllowTag) {
23410 downcast_call_tag<setStoryReaction> type_tag;
23411 func(type_tag);
23412 } else {
23413 func(static_cast<setStoryReaction &>(*obj));
23414 }
23415 return true;
23416 case setSupergroupCustomEmojiStickerSet::ID:
23417 if constexpr (AllowTag) {
23418 downcast_call_tag<setSupergroupCustomEmojiStickerSet> type_tag;
23419 func(type_tag);
23420 } else {
23421 func(static_cast<setSupergroupCustomEmojiStickerSet &>(*obj));
23422 }
23423 return true;
23424 case setSupergroupMainProfileTab::ID:
23425 if constexpr (AllowTag) {
23426 downcast_call_tag<setSupergroupMainProfileTab> type_tag;
23427 func(type_tag);
23428 } else {
23429 func(static_cast<setSupergroupMainProfileTab &>(*obj));
23430 }
23431 return true;
23432 case setSupergroupStickerSet::ID:
23433 if constexpr (AllowTag) {
23434 downcast_call_tag<setSupergroupStickerSet> type_tag;
23435 func(type_tag);
23436 } else {
23437 func(static_cast<setSupergroupStickerSet &>(*obj));
23438 }
23439 return true;
23440 case setSupergroupUnrestrictBoostCount::ID:
23441 if constexpr (AllowTag) {
23442 downcast_call_tag<setSupergroupUnrestrictBoostCount> type_tag;
23443 func(type_tag);
23444 } else {
23445 func(static_cast<setSupergroupUnrestrictBoostCount &>(*obj));
23446 }
23447 return true;
23448 case setSupergroupUsername::ID:
23449 if constexpr (AllowTag) {
23450 downcast_call_tag<setSupergroupUsername> type_tag;
23451 func(type_tag);
23452 } else {
23453 func(static_cast<setSupergroupUsername &>(*obj));
23454 }
23455 return true;
23456 case setTdlibParameters::ID:
23457 if constexpr (AllowTag) {
23458 downcast_call_tag<setTdlibParameters> type_tag;
23459 func(type_tag);
23460 } else {
23461 func(static_cast<setTdlibParameters &>(*obj));
23462 }
23463 return true;
23464 case setUpgradedGiftColors::ID:
23465 if constexpr (AllowTag) {
23466 downcast_call_tag<setUpgradedGiftColors> type_tag;
23467 func(type_tag);
23468 } else {
23469 func(static_cast<setUpgradedGiftColors &>(*obj));
23470 }
23471 return true;
23472 case setUserEmojiStatus::ID:
23473 if constexpr (AllowTag) {
23474 downcast_call_tag<setUserEmojiStatus> type_tag;
23475 func(type_tag);
23476 } else {
23477 func(static_cast<setUserEmojiStatus &>(*obj));
23478 }
23479 return true;
23480 case setUserNote::ID:
23481 if constexpr (AllowTag) {
23482 downcast_call_tag<setUserNote> type_tag;
23483 func(type_tag);
23484 } else {
23485 func(static_cast<setUserNote &>(*obj));
23486 }
23487 return true;
23488 case setUserPersonalProfilePhoto::ID:
23489 if constexpr (AllowTag) {
23490 downcast_call_tag<setUserPersonalProfilePhoto> type_tag;
23491 func(type_tag);
23492 } else {
23493 func(static_cast<setUserPersonalProfilePhoto &>(*obj));
23494 }
23495 return true;
23496 case setUserPrivacySettingRules::ID:
23497 if constexpr (AllowTag) {
23498 downcast_call_tag<setUserPrivacySettingRules> type_tag;
23499 func(type_tag);
23500 } else {
23501 func(static_cast<setUserPrivacySettingRules &>(*obj));
23502 }
23503 return true;
23504 case setUserSupportInfo::ID:
23505 if constexpr (AllowTag) {
23506 downcast_call_tag<setUserSupportInfo> type_tag;
23507 func(type_tag);
23508 } else {
23509 func(static_cast<setUserSupportInfo &>(*obj));
23510 }
23511 return true;
23512 case setUsername::ID:
23513 if constexpr (AllowTag) {
23514 downcast_call_tag<setUsername> type_tag;
23515 func(type_tag);
23516 } else {
23517 func(static_cast<setUsername &>(*obj));
23518 }
23519 return true;
23520 case setVideoChatDefaultParticipant::ID:
23521 if constexpr (AllowTag) {
23522 downcast_call_tag<setVideoChatDefaultParticipant> type_tag;
23523 func(type_tag);
23524 } else {
23525 func(static_cast<setVideoChatDefaultParticipant &>(*obj));
23526 }
23527 return true;
23528 case setVideoChatTitle::ID:
23529 if constexpr (AllowTag) {
23530 downcast_call_tag<setVideoChatTitle> type_tag;
23531 func(type_tag);
23532 } else {
23533 func(static_cast<setVideoChatTitle &>(*obj));
23534 }
23535 return true;
23536 case shareChatWithBot::ID:
23537 if constexpr (AllowTag) {
23538 downcast_call_tag<shareChatWithBot> type_tag;
23539 func(type_tag);
23540 } else {
23541 func(static_cast<shareChatWithBot &>(*obj));
23542 }
23543 return true;
23544 case sharePhoneNumber::ID:
23545 if constexpr (AllowTag) {
23546 downcast_call_tag<sharePhoneNumber> type_tag;
23547 func(type_tag);
23548 } else {
23549 func(static_cast<sharePhoneNumber &>(*obj));
23550 }
23551 return true;
23552 case shareUsersWithBot::ID:
23553 if constexpr (AllowTag) {
23554 downcast_call_tag<shareUsersWithBot> type_tag;
23555 func(type_tag);
23556 } else {
23557 func(static_cast<shareUsersWithBot &>(*obj));
23558 }
23559 return true;
23560 case startGroupCallRecording::ID:
23561 if constexpr (AllowTag) {
23562 downcast_call_tag<startGroupCallRecording> type_tag;
23563 func(type_tag);
23564 } else {
23565 func(static_cast<startGroupCallRecording &>(*obj));
23566 }
23567 return true;
23568 case startGroupCallScreenSharing::ID:
23569 if constexpr (AllowTag) {
23570 downcast_call_tag<startGroupCallScreenSharing> type_tag;
23571 func(type_tag);
23572 } else {
23573 func(static_cast<startGroupCallScreenSharing &>(*obj));
23574 }
23575 return true;
23576 case startLiveStory::ID:
23577 if constexpr (AllowTag) {
23578 downcast_call_tag<startLiveStory> type_tag;
23579 func(type_tag);
23580 } else {
23581 func(static_cast<startLiveStory &>(*obj));
23582 }
23583 return true;
23584 case startScheduledVideoChat::ID:
23585 if constexpr (AllowTag) {
23586 downcast_call_tag<startScheduledVideoChat> type_tag;
23587 func(type_tag);
23588 } else {
23589 func(static_cast<startScheduledVideoChat &>(*obj));
23590 }
23591 return true;
23592 case stopBusinessPoll::ID:
23593 if constexpr (AllowTag) {
23594 downcast_call_tag<stopBusinessPoll> type_tag;
23595 func(type_tag);
23596 } else {
23597 func(static_cast<stopBusinessPoll &>(*obj));
23598 }
23599 return true;
23600 case stopPoll::ID:
23601 if constexpr (AllowTag) {
23602 downcast_call_tag<stopPoll> type_tag;
23603 func(type_tag);
23604 } else {
23605 func(static_cast<stopPoll &>(*obj));
23606 }
23607 return true;
23608 case suggestUserBirthdate::ID:
23609 if constexpr (AllowTag) {
23610 downcast_call_tag<suggestUserBirthdate> type_tag;
23611 func(type_tag);
23612 } else {
23613 func(static_cast<suggestUserBirthdate &>(*obj));
23614 }
23615 return true;
23616 case suggestUserProfilePhoto::ID:
23617 if constexpr (AllowTag) {
23618 downcast_call_tag<suggestUserProfilePhoto> type_tag;
23619 func(type_tag);
23620 } else {
23621 func(static_cast<suggestUserProfilePhoto &>(*obj));
23622 }
23623 return true;
23624 case summarizeMessage::ID:
23625 if constexpr (AllowTag) {
23626 downcast_call_tag<summarizeMessage> type_tag;
23627 func(type_tag);
23628 } else {
23629 func(static_cast<summarizeMessage &>(*obj));
23630 }
23631 return true;
23632 case synchronizeLanguagePack::ID:
23633 if constexpr (AllowTag) {
23634 downcast_call_tag<synchronizeLanguagePack> type_tag;
23635 func(type_tag);
23636 } else {
23637 func(static_cast<synchronizeLanguagePack &>(*obj));
23638 }
23639 return true;
23640 case terminateAllOtherSessions::ID:
23641 if constexpr (AllowTag) {
23642 downcast_call_tag<terminateAllOtherSessions> type_tag;
23643 func(type_tag);
23644 } else {
23645 func(static_cast<terminateAllOtherSessions &>(*obj));
23646 }
23647 return true;
23648 case terminateSession::ID:
23649 if constexpr (AllowTag) {
23650 downcast_call_tag<terminateSession> type_tag;
23651 func(type_tag);
23652 } else {
23653 func(static_cast<terminateSession &>(*obj));
23654 }
23655 return true;
23656 case testCallBytes::ID:
23657 if constexpr (AllowTag) {
23658 downcast_call_tag<testCallBytes> type_tag;
23659 func(type_tag);
23660 } else {
23661 func(static_cast<testCallBytes &>(*obj));
23662 }
23663 return true;
23664 case testCallEmpty::ID:
23665 if constexpr (AllowTag) {
23666 downcast_call_tag<testCallEmpty> type_tag;
23667 func(type_tag);
23668 } else {
23669 func(static_cast<testCallEmpty &>(*obj));
23670 }
23671 return true;
23672 case testCallString::ID:
23673 if constexpr (AllowTag) {
23674 downcast_call_tag<testCallString> type_tag;
23675 func(type_tag);
23676 } else {
23677 func(static_cast<testCallString &>(*obj));
23678 }
23679 return true;
23680 case testCallVectorInt::ID:
23681 if constexpr (AllowTag) {
23682 downcast_call_tag<testCallVectorInt> type_tag;
23683 func(type_tag);
23684 } else {
23685 func(static_cast<testCallVectorInt &>(*obj));
23686 }
23687 return true;
23688 case testCallVectorIntObject::ID:
23689 if constexpr (AllowTag) {
23690 downcast_call_tag<testCallVectorIntObject> type_tag;
23691 func(type_tag);
23692 } else {
23693 func(static_cast<testCallVectorIntObject &>(*obj));
23694 }
23695 return true;
23696 case testCallVectorString::ID:
23697 if constexpr (AllowTag) {
23698 downcast_call_tag<testCallVectorString> type_tag;
23699 func(type_tag);
23700 } else {
23701 func(static_cast<testCallVectorString &>(*obj));
23702 }
23703 return true;
23704 case testCallVectorStringObject::ID:
23705 if constexpr (AllowTag) {
23706 downcast_call_tag<testCallVectorStringObject> type_tag;
23707 func(type_tag);
23708 } else {
23709 func(static_cast<testCallVectorStringObject &>(*obj));
23710 }
23711 return true;
23712 case testGetDifference::ID:
23713 if constexpr (AllowTag) {
23714 downcast_call_tag<testGetDifference> type_tag;
23715 func(type_tag);
23716 } else {
23717 func(static_cast<testGetDifference &>(*obj));
23718 }
23719 return true;
23720 case testNetwork::ID:
23721 if constexpr (AllowTag) {
23722 downcast_call_tag<testNetwork> type_tag;
23723 func(type_tag);
23724 } else {
23725 func(static_cast<testNetwork &>(*obj));
23726 }
23727 return true;
23728 case testProxy::ID:
23729 if constexpr (AllowTag) {
23730 downcast_call_tag<testProxy> type_tag;
23731 func(type_tag);
23732 } else {
23733 func(static_cast<testProxy &>(*obj));
23734 }
23735 return true;
23736 case testReturnError::ID:
23737 if constexpr (AllowTag) {
23738 downcast_call_tag<testReturnError> type_tag;
23739 func(type_tag);
23740 } else {
23741 func(static_cast<testReturnError &>(*obj));
23742 }
23743 return true;
23744 case testSquareInt::ID:
23745 if constexpr (AllowTag) {
23746 downcast_call_tag<testSquareInt> type_tag;
23747 func(type_tag);
23748 } else {
23749 func(static_cast<testSquareInt &>(*obj));
23750 }
23751 return true;
23752 case testUseUpdate::ID:
23753 if constexpr (AllowTag) {
23754 downcast_call_tag<testUseUpdate> type_tag;
23755 func(type_tag);
23756 } else {
23757 func(static_cast<testUseUpdate &>(*obj));
23758 }
23759 return true;
23760 case toggleAllDownloadsArePaused::ID:
23761 if constexpr (AllowTag) {
23762 downcast_call_tag<toggleAllDownloadsArePaused> type_tag;
23763 func(type_tag);
23764 } else {
23765 func(static_cast<toggleAllDownloadsArePaused &>(*obj));
23766 }
23767 return true;
23768 case toggleBotCanManageEmojiStatus::ID:
23769 if constexpr (AllowTag) {
23770 downcast_call_tag<toggleBotCanManageEmojiStatus> type_tag;
23771 func(type_tag);
23772 } else {
23773 func(static_cast<toggleBotCanManageEmojiStatus &>(*obj));
23774 }
23775 return true;
23776 case toggleBotIsAddedToAttachmentMenu::ID:
23777 if constexpr (AllowTag) {
23778 downcast_call_tag<toggleBotIsAddedToAttachmentMenu> type_tag;
23779 func(type_tag);
23780 } else {
23781 func(static_cast<toggleBotIsAddedToAttachmentMenu &>(*obj));
23782 }
23783 return true;
23784 case toggleBotUsernameIsActive::ID:
23785 if constexpr (AllowTag) {
23786 downcast_call_tag<toggleBotUsernameIsActive> type_tag;
23787 func(type_tag);
23788 } else {
23789 func(static_cast<toggleBotUsernameIsActive &>(*obj));
23790 }
23791 return true;
23792 case toggleBusinessConnectedBotChatIsPaused::ID:
23793 if constexpr (AllowTag) {
23794 downcast_call_tag<toggleBusinessConnectedBotChatIsPaused> type_tag;
23795 func(type_tag);
23796 } else {
23797 func(static_cast<toggleBusinessConnectedBotChatIsPaused &>(*obj));
23798 }
23799 return true;
23800 case toggleChatDefaultDisableNotification::ID:
23801 if constexpr (AllowTag) {
23802 downcast_call_tag<toggleChatDefaultDisableNotification> type_tag;
23803 func(type_tag);
23804 } else {
23805 func(static_cast<toggleChatDefaultDisableNotification &>(*obj));
23806 }
23807 return true;
23808 case toggleChatFolderTags::ID:
23809 if constexpr (AllowTag) {
23810 downcast_call_tag<toggleChatFolderTags> type_tag;
23811 func(type_tag);
23812 } else {
23813 func(static_cast<toggleChatFolderTags &>(*obj));
23814 }
23815 return true;
23816 case toggleChatGiftNotifications::ID:
23817 if constexpr (AllowTag) {
23818 downcast_call_tag<toggleChatGiftNotifications> type_tag;
23819 func(type_tag);
23820 } else {
23821 func(static_cast<toggleChatGiftNotifications &>(*obj));
23822 }
23823 return true;
23824 case toggleChatHasProtectedContent::ID:
23825 if constexpr (AllowTag) {
23826 downcast_call_tag<toggleChatHasProtectedContent> type_tag;
23827 func(type_tag);
23828 } else {
23829 func(static_cast<toggleChatHasProtectedContent &>(*obj));
23830 }
23831 return true;
23832 case toggleChatIsMarkedAsUnread::ID:
23833 if constexpr (AllowTag) {
23834 downcast_call_tag<toggleChatIsMarkedAsUnread> type_tag;
23835 func(type_tag);
23836 } else {
23837 func(static_cast<toggleChatIsMarkedAsUnread &>(*obj));
23838 }
23839 return true;
23840 case toggleChatIsPinned::ID:
23841 if constexpr (AllowTag) {
23842 downcast_call_tag<toggleChatIsPinned> type_tag;
23843 func(type_tag);
23844 } else {
23845 func(static_cast<toggleChatIsPinned &>(*obj));
23846 }
23847 return true;
23848 case toggleChatIsTranslatable::ID:
23849 if constexpr (AllowTag) {
23850 downcast_call_tag<toggleChatIsTranslatable> type_tag;
23851 func(type_tag);
23852 } else {
23853 func(static_cast<toggleChatIsTranslatable &>(*obj));
23854 }
23855 return true;
23856 case toggleChatViewAsTopics::ID:
23857 if constexpr (AllowTag) {
23858 downcast_call_tag<toggleChatViewAsTopics> type_tag;
23859 func(type_tag);
23860 } else {
23861 func(static_cast<toggleChatViewAsTopics &>(*obj));
23862 }
23863 return true;
23864 case toggleDirectMessagesChatTopicCanSendUnpaidMessages::ID:
23865 if constexpr (AllowTag) {
23866 downcast_call_tag<toggleDirectMessagesChatTopicCanSendUnpaidMessages> type_tag;
23867 func(type_tag);
23868 } else {
23869 func(static_cast<toggleDirectMessagesChatTopicCanSendUnpaidMessages &>(*obj));
23870 }
23871 return true;
23872 case toggleDownloadIsPaused::ID:
23873 if constexpr (AllowTag) {
23874 downcast_call_tag<toggleDownloadIsPaused> type_tag;
23875 func(type_tag);
23876 } else {
23877 func(static_cast<toggleDownloadIsPaused &>(*obj));
23878 }
23879 return true;
23880 case toggleForumTopicIsClosed::ID:
23881 if constexpr (AllowTag) {
23882 downcast_call_tag<toggleForumTopicIsClosed> type_tag;
23883 func(type_tag);
23884 } else {
23885 func(static_cast<toggleForumTopicIsClosed &>(*obj));
23886 }
23887 return true;
23888 case toggleForumTopicIsPinned::ID:
23889 if constexpr (AllowTag) {
23890 downcast_call_tag<toggleForumTopicIsPinned> type_tag;
23891 func(type_tag);
23892 } else {
23893 func(static_cast<toggleForumTopicIsPinned &>(*obj));
23894 }
23895 return true;
23896 case toggleGeneralForumTopicIsHidden::ID:
23897 if constexpr (AllowTag) {
23898 downcast_call_tag<toggleGeneralForumTopicIsHidden> type_tag;
23899 func(type_tag);
23900 } else {
23901 func(static_cast<toggleGeneralForumTopicIsHidden &>(*obj));
23902 }
23903 return true;
23904 case toggleGiftIsSaved::ID:
23905 if constexpr (AllowTag) {
23906 downcast_call_tag<toggleGiftIsSaved> type_tag;
23907 func(type_tag);
23908 } else {
23909 func(static_cast<toggleGiftIsSaved &>(*obj));
23910 }
23911 return true;
23912 case toggleGroupCallAreMessagesAllowed::ID:
23913 if constexpr (AllowTag) {
23914 downcast_call_tag<toggleGroupCallAreMessagesAllowed> type_tag;
23915 func(type_tag);
23916 } else {
23917 func(static_cast<toggleGroupCallAreMessagesAllowed &>(*obj));
23918 }
23919 return true;
23920 case toggleGroupCallIsMyVideoEnabled::ID:
23921 if constexpr (AllowTag) {
23922 downcast_call_tag<toggleGroupCallIsMyVideoEnabled> type_tag;
23923 func(type_tag);
23924 } else {
23925 func(static_cast<toggleGroupCallIsMyVideoEnabled &>(*obj));
23926 }
23927 return true;
23928 case toggleGroupCallIsMyVideoPaused::ID:
23929 if constexpr (AllowTag) {
23930 downcast_call_tag<toggleGroupCallIsMyVideoPaused> type_tag;
23931 func(type_tag);
23932 } else {
23933 func(static_cast<toggleGroupCallIsMyVideoPaused &>(*obj));
23934 }
23935 return true;
23936 case toggleGroupCallParticipantIsHandRaised::ID:
23937 if constexpr (AllowTag) {
23938 downcast_call_tag<toggleGroupCallParticipantIsHandRaised> type_tag;
23939 func(type_tag);
23940 } else {
23941 func(static_cast<toggleGroupCallParticipantIsHandRaised &>(*obj));
23942 }
23943 return true;
23944 case toggleGroupCallParticipantIsMuted::ID:
23945 if constexpr (AllowTag) {
23946 downcast_call_tag<toggleGroupCallParticipantIsMuted> type_tag;
23947 func(type_tag);
23948 } else {
23949 func(static_cast<toggleGroupCallParticipantIsMuted &>(*obj));
23950 }
23951 return true;
23952 case toggleGroupCallScreenSharingIsPaused::ID:
23953 if constexpr (AllowTag) {
23954 downcast_call_tag<toggleGroupCallScreenSharingIsPaused> type_tag;
23955 func(type_tag);
23956 } else {
23957 func(static_cast<toggleGroupCallScreenSharingIsPaused &>(*obj));
23958 }
23959 return true;
23960 case toggleHasSponsoredMessagesEnabled::ID:
23961 if constexpr (AllowTag) {
23962 downcast_call_tag<toggleHasSponsoredMessagesEnabled> type_tag;
23963 func(type_tag);
23964 } else {
23965 func(static_cast<toggleHasSponsoredMessagesEnabled &>(*obj));
23966 }
23967 return true;
23968 case toggleSavedMessagesTopicIsPinned::ID:
23969 if constexpr (AllowTag) {
23970 downcast_call_tag<toggleSavedMessagesTopicIsPinned> type_tag;
23971 func(type_tag);
23972 } else {
23973 func(static_cast<toggleSavedMessagesTopicIsPinned &>(*obj));
23974 }
23975 return true;
23976 case toggleSessionCanAcceptCalls::ID:
23977 if constexpr (AllowTag) {
23978 downcast_call_tag<toggleSessionCanAcceptCalls> type_tag;
23979 func(type_tag);
23980 } else {
23981 func(static_cast<toggleSessionCanAcceptCalls &>(*obj));
23982 }
23983 return true;
23984 case toggleSessionCanAcceptSecretChats::ID:
23985 if constexpr (AllowTag) {
23986 downcast_call_tag<toggleSessionCanAcceptSecretChats> type_tag;
23987 func(type_tag);
23988 } else {
23989 func(static_cast<toggleSessionCanAcceptSecretChats &>(*obj));
23990 }
23991 return true;
23992 case toggleStoryIsPostedToChatPage::ID:
23993 if constexpr (AllowTag) {
23994 downcast_call_tag<toggleStoryIsPostedToChatPage> type_tag;
23995 func(type_tag);
23996 } else {
23997 func(static_cast<toggleStoryIsPostedToChatPage &>(*obj));
23998 }
23999 return true;
24000 case toggleSupergroupCanHaveSponsoredMessages::ID:
24001 if constexpr (AllowTag) {
24002 downcast_call_tag<toggleSupergroupCanHaveSponsoredMessages> type_tag;
24003 func(type_tag);
24004 } else {
24005 func(static_cast<toggleSupergroupCanHaveSponsoredMessages &>(*obj));
24006 }
24007 return true;
24008 case toggleSupergroupHasAggressiveAntiSpamEnabled::ID:
24009 if constexpr (AllowTag) {
24010 downcast_call_tag<toggleSupergroupHasAggressiveAntiSpamEnabled> type_tag;
24011 func(type_tag);
24012 } else {
24013 func(static_cast<toggleSupergroupHasAggressiveAntiSpamEnabled &>(*obj));
24014 }
24015 return true;
24016 case toggleSupergroupHasAutomaticTranslation::ID:
24017 if constexpr (AllowTag) {
24018 downcast_call_tag<toggleSupergroupHasAutomaticTranslation> type_tag;
24019 func(type_tag);
24020 } else {
24021 func(static_cast<toggleSupergroupHasAutomaticTranslation &>(*obj));
24022 }
24023 return true;
24024 case toggleSupergroupHasHiddenMembers::ID:
24025 if constexpr (AllowTag) {
24026 downcast_call_tag<toggleSupergroupHasHiddenMembers> type_tag;
24027 func(type_tag);
24028 } else {
24029 func(static_cast<toggleSupergroupHasHiddenMembers &>(*obj));
24030 }
24031 return true;
24032 case toggleSupergroupIsAllHistoryAvailable::ID:
24033 if constexpr (AllowTag) {
24034 downcast_call_tag<toggleSupergroupIsAllHistoryAvailable> type_tag;
24035 func(type_tag);
24036 } else {
24037 func(static_cast<toggleSupergroupIsAllHistoryAvailable &>(*obj));
24038 }
24039 return true;
24040 case toggleSupergroupIsBroadcastGroup::ID:
24041 if constexpr (AllowTag) {
24042 downcast_call_tag<toggleSupergroupIsBroadcastGroup> type_tag;
24043 func(type_tag);
24044 } else {
24045 func(static_cast<toggleSupergroupIsBroadcastGroup &>(*obj));
24046 }
24047 return true;
24048 case toggleSupergroupIsForum::ID:
24049 if constexpr (AllowTag) {
24050 downcast_call_tag<toggleSupergroupIsForum> type_tag;
24051 func(type_tag);
24052 } else {
24053 func(static_cast<toggleSupergroupIsForum &>(*obj));
24054 }
24055 return true;
24056 case toggleSupergroupJoinByRequest::ID:
24057 if constexpr (AllowTag) {
24058 downcast_call_tag<toggleSupergroupJoinByRequest> type_tag;
24059 func(type_tag);
24060 } else {
24061 func(static_cast<toggleSupergroupJoinByRequest &>(*obj));
24062 }
24063 return true;
24064 case toggleSupergroupJoinToSendMessages::ID:
24065 if constexpr (AllowTag) {
24066 downcast_call_tag<toggleSupergroupJoinToSendMessages> type_tag;
24067 func(type_tag);
24068 } else {
24069 func(static_cast<toggleSupergroupJoinToSendMessages &>(*obj));
24070 }
24071 return true;
24072 case toggleSupergroupSignMessages::ID:
24073 if constexpr (AllowTag) {
24074 downcast_call_tag<toggleSupergroupSignMessages> type_tag;
24075 func(type_tag);
24076 } else {
24077 func(static_cast<toggleSupergroupSignMessages &>(*obj));
24078 }
24079 return true;
24080 case toggleSupergroupUsernameIsActive::ID:
24081 if constexpr (AllowTag) {
24082 downcast_call_tag<toggleSupergroupUsernameIsActive> type_tag;
24083 func(type_tag);
24084 } else {
24085 func(static_cast<toggleSupergroupUsernameIsActive &>(*obj));
24086 }
24087 return true;
24088 case toggleUsernameIsActive::ID:
24089 if constexpr (AllowTag) {
24090 downcast_call_tag<toggleUsernameIsActive> type_tag;
24091 func(type_tag);
24092 } else {
24093 func(static_cast<toggleUsernameIsActive &>(*obj));
24094 }
24095 return true;
24096 case toggleVideoChatEnabledStartNotification::ID:
24097 if constexpr (AllowTag) {
24098 downcast_call_tag<toggleVideoChatEnabledStartNotification> type_tag;
24099 func(type_tag);
24100 } else {
24101 func(static_cast<toggleVideoChatEnabledStartNotification &>(*obj));
24102 }
24103 return true;
24104 case toggleVideoChatMuteNewParticipants::ID:
24105 if constexpr (AllowTag) {
24106 downcast_call_tag<toggleVideoChatMuteNewParticipants> type_tag;
24107 func(type_tag);
24108 } else {
24109 func(static_cast<toggleVideoChatMuteNewParticipants &>(*obj));
24110 }
24111 return true;
24112 case transferBusinessAccountStars::ID:
24113 if constexpr (AllowTag) {
24114 downcast_call_tag<transferBusinessAccountStars> type_tag;
24115 func(type_tag);
24116 } else {
24117 func(static_cast<transferBusinessAccountStars &>(*obj));
24118 }
24119 return true;
24120 case transferChatOwnership::ID:
24121 if constexpr (AllowTag) {
24122 downcast_call_tag<transferChatOwnership> type_tag;
24123 func(type_tag);
24124 } else {
24125 func(static_cast<transferChatOwnership &>(*obj));
24126 }
24127 return true;
24128 case transferGift::ID:
24129 if constexpr (AllowTag) {
24130 downcast_call_tag<transferGift> type_tag;
24131 func(type_tag);
24132 } else {
24133 func(static_cast<transferGift &>(*obj));
24134 }
24135 return true;
24136 case translateMessageText::ID:
24137 if constexpr (AllowTag) {
24138 downcast_call_tag<translateMessageText> type_tag;
24139 func(type_tag);
24140 } else {
24141 func(static_cast<translateMessageText &>(*obj));
24142 }
24143 return true;
24144 case translateText::ID:
24145 if constexpr (AllowTag) {
24146 downcast_call_tag<translateText> type_tag;
24147 func(type_tag);
24148 } else {
24149 func(static_cast<translateText &>(*obj));
24150 }
24151 return true;
24152 case unpinAllChatMessages::ID:
24153 if constexpr (AllowTag) {
24154 downcast_call_tag<unpinAllChatMessages> type_tag;
24155 func(type_tag);
24156 } else {
24157 func(static_cast<unpinAllChatMessages &>(*obj));
24158 }
24159 return true;
24160 case unpinAllDirectMessagesChatTopicMessages::ID:
24161 if constexpr (AllowTag) {
24162 downcast_call_tag<unpinAllDirectMessagesChatTopicMessages> type_tag;
24163 func(type_tag);
24164 } else {
24165 func(static_cast<unpinAllDirectMessagesChatTopicMessages &>(*obj));
24166 }
24167 return true;
24168 case unpinAllForumTopicMessages::ID:
24169 if constexpr (AllowTag) {
24170 downcast_call_tag<unpinAllForumTopicMessages> type_tag;
24171 func(type_tag);
24172 } else {
24173 func(static_cast<unpinAllForumTopicMessages &>(*obj));
24174 }
24175 return true;
24176 case unpinChatMessage::ID:
24177 if constexpr (AllowTag) {
24178 downcast_call_tag<unpinChatMessage> type_tag;
24179 func(type_tag);
24180 } else {
24181 func(static_cast<unpinChatMessage &>(*obj));
24182 }
24183 return true;
24184 case upgradeBasicGroupChatToSupergroupChat::ID:
24185 if constexpr (AllowTag) {
24186 downcast_call_tag<upgradeBasicGroupChatToSupergroupChat> type_tag;
24187 func(type_tag);
24188 } else {
24189 func(static_cast<upgradeBasicGroupChatToSupergroupChat &>(*obj));
24190 }
24191 return true;
24192 case upgradeGift::ID:
24193 if constexpr (AllowTag) {
24194 downcast_call_tag<upgradeGift> type_tag;
24195 func(type_tag);
24196 } else {
24197 func(static_cast<upgradeGift &>(*obj));
24198 }
24199 return true;
24200 case uploadStickerFile::ID:
24201 if constexpr (AllowTag) {
24202 downcast_call_tag<uploadStickerFile> type_tag;
24203 func(type_tag);
24204 } else {
24205 func(static_cast<uploadStickerFile &>(*obj));
24206 }
24207 return true;
24208 case validateOrderInfo::ID:
24209 if constexpr (AllowTag) {
24210 downcast_call_tag<validateOrderInfo> type_tag;
24211 func(type_tag);
24212 } else {
24213 func(static_cast<validateOrderInfo &>(*obj));
24214 }
24215 return true;
24216 case viewMessages::ID:
24217 if constexpr (AllowTag) {
24218 downcast_call_tag<viewMessages> type_tag;
24219 func(type_tag);
24220 } else {
24221 func(static_cast<viewMessages &>(*obj));
24222 }
24223 return true;
24224 case viewPremiumFeature::ID:
24225 if constexpr (AllowTag) {
24226 downcast_call_tag<viewPremiumFeature> type_tag;
24227 func(type_tag);
24228 } else {
24229 func(static_cast<viewPremiumFeature &>(*obj));
24230 }
24231 return true;
24232 case viewSponsoredChat::ID:
24233 if constexpr (AllowTag) {
24234 downcast_call_tag<viewSponsoredChat> type_tag;
24235 func(type_tag);
24236 } else {
24237 func(static_cast<viewSponsoredChat &>(*obj));
24238 }
24239 return true;
24240 case viewTrendingStickerSets::ID:
24241 if constexpr (AllowTag) {
24242 downcast_call_tag<viewTrendingStickerSets> type_tag;
24243 func(type_tag);
24244 } else {
24245 func(static_cast<viewTrendingStickerSets &>(*obj));
24246 }
24247 return true;
24248 case viewVideoMessageAdvertisement::ID:
24249 if constexpr (AllowTag) {
24250 downcast_call_tag<viewVideoMessageAdvertisement> type_tag;
24251 func(type_tag);
24252 } else {
24253 func(static_cast<viewVideoMessageAdvertisement &>(*obj));
24254 }
24255 return true;
24256 case writeGeneratedFilePart::ID:
24257 if constexpr (AllowTag) {
24258 downcast_call_tag<writeGeneratedFilePart> type_tag;
24259 func(type_tag);
24260 } else {
24261 func(static_cast<writeGeneratedFilePart &>(*obj));
24262 }
24263 return true;
24264 default:
24265 return false;
24266 }
24267}

◆ downcast_call_impl() [60/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiftForResaleOrder obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28431 of file td_api.hpp.

28431 { //-V2008
28432 switch (constructor) {
28433 case giftForResaleOrderPrice::ID:
28434 if constexpr (AllowTag) {
28435 downcast_call_tag<giftForResaleOrderPrice> type_tag;
28436 func(type_tag);
28437 } else {
28438 func(static_cast<giftForResaleOrderPrice &>(*obj));
28439 }
28440 return true;
28441 case giftForResaleOrderPriceChangeDate::ID:
28442 if constexpr (AllowTag) {
28443 downcast_call_tag<giftForResaleOrderPriceChangeDate> type_tag;
28444 func(type_tag);
28445 } else {
28446 func(static_cast<giftForResaleOrderPriceChangeDate &>(*obj));
28447 }
28448 return true;
28449 case giftForResaleOrderNumber::ID:
28450 if constexpr (AllowTag) {
28451 downcast_call_tag<giftForResaleOrderNumber> type_tag;
28452 func(type_tag);
28453 } else {
28454 func(static_cast<giftForResaleOrderNumber &>(*obj));
28455 }
28456 return true;
28457 default:
28458 return false;
28459 }
28460}

◆ downcast_call_impl() [61/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiftPurchaseOfferState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28482 of file td_api.hpp.

28482 { //-V2008
28483 switch (constructor) {
28484 case giftPurchaseOfferStatePending::ID:
28485 if constexpr (AllowTag) {
28486 downcast_call_tag<giftPurchaseOfferStatePending> type_tag;
28487 func(type_tag);
28488 } else {
28489 func(static_cast<giftPurchaseOfferStatePending &>(*obj));
28490 }
28491 return true;
28492 case giftPurchaseOfferStateAccepted::ID:
28493 if constexpr (AllowTag) {
28494 downcast_call_tag<giftPurchaseOfferStateAccepted> type_tag;
28495 func(type_tag);
28496 } else {
28497 func(static_cast<giftPurchaseOfferStateAccepted &>(*obj));
28498 }
28499 return true;
28500 case giftPurchaseOfferStateRejected::ID:
28501 if constexpr (AllowTag) {
28502 downcast_call_tag<giftPurchaseOfferStateRejected> type_tag;
28503 func(type_tag);
28504 } else {
28505 func(static_cast<giftPurchaseOfferStateRejected &>(*obj));
28506 }
28507 return true;
28508 default:
28509 return false;
28510 }
28511}

◆ downcast_call_impl() [62/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiftResalePrice obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28533 of file td_api.hpp.

28533 { //-V2008
28534 switch (constructor) {
28535 case giftResalePriceStar::ID:
28536 if constexpr (AllowTag) {
28537 downcast_call_tag<giftResalePriceStar> type_tag;
28538 func(type_tag);
28539 } else {
28540 func(static_cast<giftResalePriceStar &>(*obj));
28541 }
28542 return true;
28543 case giftResalePriceTon::ID:
28544 if constexpr (AllowTag) {
28545 downcast_call_tag<giftResalePriceTon> type_tag;
28546 func(type_tag);
28547 } else {
28548 func(static_cast<giftResalePriceTon &>(*obj));
28549 }
28550 return true;
28551 default:
28552 return false;
28553 }
28554}

◆ downcast_call_impl() [63/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiftResaleResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28576 of file td_api.hpp.

28576 { //-V2008
28577 switch (constructor) {
28578 case giftResaleResultOk::ID:
28579 if constexpr (AllowTag) {
28580 downcast_call_tag<giftResaleResultOk> type_tag;
28581 func(type_tag);
28582 } else {
28583 func(static_cast<giftResaleResultOk &>(*obj));
28584 }
28585 return true;
28586 case giftResaleResultPriceIncreased::ID:
28587 if constexpr (AllowTag) {
28588 downcast_call_tag<giftResaleResultPriceIncreased> type_tag;
28589 func(type_tag);
28590 } else {
28591 func(static_cast<giftResaleResultPriceIncreased &>(*obj));
28592 }
28593 return true;
28594 default:
28595 return false;
28596 }
28597}

◆ downcast_call_impl() [64/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiveawayInfo obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28619 of file td_api.hpp.

28619 { //-V2008
28620 switch (constructor) {
28621 case giveawayInfoOngoing::ID:
28622 if constexpr (AllowTag) {
28623 downcast_call_tag<giveawayInfoOngoing> type_tag;
28624 func(type_tag);
28625 } else {
28626 func(static_cast<giveawayInfoOngoing &>(*obj));
28627 }
28628 return true;
28629 case giveawayInfoCompleted::ID:
28630 if constexpr (AllowTag) {
28631 downcast_call_tag<giveawayInfoCompleted> type_tag;
28632 func(type_tag);
28633 } else {
28634 func(static_cast<giveawayInfoCompleted &>(*obj));
28635 }
28636 return true;
28637 default:
28638 return false;
28639 }
28640}

◆ downcast_call_impl() [65/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiveawayParticipantStatus obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28662 of file td_api.hpp.

28662 { //-V2008
28663 switch (constructor) {
28664 case giveawayParticipantStatusEligible::ID:
28665 if constexpr (AllowTag) {
28666 downcast_call_tag<giveawayParticipantStatusEligible> type_tag;
28667 func(type_tag);
28668 } else {
28669 func(static_cast<giveawayParticipantStatusEligible &>(*obj));
28670 }
28671 return true;
28672 case giveawayParticipantStatusParticipating::ID:
28673 if constexpr (AllowTag) {
28674 downcast_call_tag<giveawayParticipantStatusParticipating> type_tag;
28675 func(type_tag);
28676 } else {
28677 func(static_cast<giveawayParticipantStatusParticipating &>(*obj));
28678 }
28679 return true;
28680 case giveawayParticipantStatusAlreadyWasMember::ID:
28681 if constexpr (AllowTag) {
28682 downcast_call_tag<giveawayParticipantStatusAlreadyWasMember> type_tag;
28683 func(type_tag);
28684 } else {
28685 func(static_cast<giveawayParticipantStatusAlreadyWasMember &>(*obj));
28686 }
28687 return true;
28688 case giveawayParticipantStatusAdministrator::ID:
28689 if constexpr (AllowTag) {
28690 downcast_call_tag<giveawayParticipantStatusAdministrator> type_tag;
28691 func(type_tag);
28692 } else {
28693 func(static_cast<giveawayParticipantStatusAdministrator &>(*obj));
28694 }
28695 return true;
28696 case giveawayParticipantStatusDisallowedCountry::ID:
28697 if constexpr (AllowTag) {
28698 downcast_call_tag<giveawayParticipantStatusDisallowedCountry> type_tag;
28699 func(type_tag);
28700 } else {
28701 func(static_cast<giveawayParticipantStatusDisallowedCountry &>(*obj));
28702 }
28703 return true;
28704 default:
28705 return false;
28706 }
28707}

◆ downcast_call_impl() [66/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GiveawayPrize obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28729 of file td_api.hpp.

28729 { //-V2008
28730 switch (constructor) {
28731 case giveawayPrizePremium::ID:
28732 if constexpr (AllowTag) {
28733 downcast_call_tag<giveawayPrizePremium> type_tag;
28734 func(type_tag);
28735 } else {
28736 func(static_cast<giveawayPrizePremium &>(*obj));
28737 }
28738 return true;
28739 case giveawayPrizeStars::ID:
28740 if constexpr (AllowTag) {
28741 downcast_call_tag<giveawayPrizeStars> type_tag;
28742 func(type_tag);
28743 } else {
28744 func(static_cast<giveawayPrizeStars &>(*obj));
28745 }
28746 return true;
28747 default:
28748 return false;
28749 }
28750}

◆ downcast_call_impl() [67/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GroupCallDataChannel obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28772 of file td_api.hpp.

28772 { //-V2008
28773 switch (constructor) {
28774 case groupCallDataChannelMain::ID:
28775 if constexpr (AllowTag) {
28776 downcast_call_tag<groupCallDataChannelMain> type_tag;
28777 func(type_tag);
28778 } else {
28779 func(static_cast<groupCallDataChannelMain &>(*obj));
28780 }
28781 return true;
28782 case groupCallDataChannelScreenSharing::ID:
28783 if constexpr (AllowTag) {
28784 downcast_call_tag<groupCallDataChannelScreenSharing> type_tag;
28785 func(type_tag);
28786 } else {
28787 func(static_cast<groupCallDataChannelScreenSharing &>(*obj));
28788 }
28789 return true;
28790 default:
28791 return false;
28792 }
28793}

◆ downcast_call_impl() [68/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
GroupCallVideoQuality obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28815 of file td_api.hpp.

28815 { //-V2008
28816 switch (constructor) {
28817 case groupCallVideoQualityThumbnail::ID:
28818 if constexpr (AllowTag) {
28819 downcast_call_tag<groupCallVideoQualityThumbnail> type_tag;
28820 func(type_tag);
28821 } else {
28822 func(static_cast<groupCallVideoQualityThumbnail &>(*obj));
28823 }
28824 return true;
28825 case groupCallVideoQualityMedium::ID:
28826 if constexpr (AllowTag) {
28827 downcast_call_tag<groupCallVideoQualityMedium> type_tag;
28828 func(type_tag);
28829 } else {
28830 func(static_cast<groupCallVideoQualityMedium &>(*obj));
28831 }
28832 return true;
28833 case groupCallVideoQualityFull::ID:
28834 if constexpr (AllowTag) {
28835 downcast_call_tag<groupCallVideoQualityFull> type_tag;
28836 func(type_tag);
28837 } else {
28838 func(static_cast<groupCallVideoQualityFull &>(*obj));
28839 }
28840 return true;
28841 default:
28842 return false;
28843 }
28844}

◆ downcast_call_impl() [69/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InlineKeyboardButtonType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28866 of file td_api.hpp.

28866 { //-V2008
28867 switch (constructor) {
28868 case inlineKeyboardButtonTypeUrl::ID:
28869 if constexpr (AllowTag) {
28870 downcast_call_tag<inlineKeyboardButtonTypeUrl> type_tag;
28871 func(type_tag);
28872 } else {
28873 func(static_cast<inlineKeyboardButtonTypeUrl &>(*obj));
28874 }
28875 return true;
28876 case inlineKeyboardButtonTypeLoginUrl::ID:
28877 if constexpr (AllowTag) {
28878 downcast_call_tag<inlineKeyboardButtonTypeLoginUrl> type_tag;
28879 func(type_tag);
28880 } else {
28881 func(static_cast<inlineKeyboardButtonTypeLoginUrl &>(*obj));
28882 }
28883 return true;
28884 case inlineKeyboardButtonTypeWebApp::ID:
28885 if constexpr (AllowTag) {
28886 downcast_call_tag<inlineKeyboardButtonTypeWebApp> type_tag;
28887 func(type_tag);
28888 } else {
28889 func(static_cast<inlineKeyboardButtonTypeWebApp &>(*obj));
28890 }
28891 return true;
28892 case inlineKeyboardButtonTypeCallback::ID:
28893 if constexpr (AllowTag) {
28894 downcast_call_tag<inlineKeyboardButtonTypeCallback> type_tag;
28895 func(type_tag);
28896 } else {
28897 func(static_cast<inlineKeyboardButtonTypeCallback &>(*obj));
28898 }
28899 return true;
28900 case inlineKeyboardButtonTypeCallbackWithPassword::ID:
28901 if constexpr (AllowTag) {
28902 downcast_call_tag<inlineKeyboardButtonTypeCallbackWithPassword> type_tag;
28903 func(type_tag);
28904 } else {
28905 func(static_cast<inlineKeyboardButtonTypeCallbackWithPassword &>(*obj));
28906 }
28907 return true;
28908 case inlineKeyboardButtonTypeCallbackGame::ID:
28909 if constexpr (AllowTag) {
28910 downcast_call_tag<inlineKeyboardButtonTypeCallbackGame> type_tag;
28911 func(type_tag);
28912 } else {
28913 func(static_cast<inlineKeyboardButtonTypeCallbackGame &>(*obj));
28914 }
28915 return true;
28916 case inlineKeyboardButtonTypeSwitchInline::ID:
28917 if constexpr (AllowTag) {
28918 downcast_call_tag<inlineKeyboardButtonTypeSwitchInline> type_tag;
28919 func(type_tag);
28920 } else {
28921 func(static_cast<inlineKeyboardButtonTypeSwitchInline &>(*obj));
28922 }
28923 return true;
28924 case inlineKeyboardButtonTypeBuy::ID:
28925 if constexpr (AllowTag) {
28926 downcast_call_tag<inlineKeyboardButtonTypeBuy> type_tag;
28927 func(type_tag);
28928 } else {
28929 func(static_cast<inlineKeyboardButtonTypeBuy &>(*obj));
28930 }
28931 return true;
28932 case inlineKeyboardButtonTypeUser::ID:
28933 if constexpr (AllowTag) {
28934 downcast_call_tag<inlineKeyboardButtonTypeUser> type_tag;
28935 func(type_tag);
28936 } else {
28937 func(static_cast<inlineKeyboardButtonTypeUser &>(*obj));
28938 }
28939 return true;
28940 case inlineKeyboardButtonTypeCopyText::ID:
28941 if constexpr (AllowTag) {
28942 downcast_call_tag<inlineKeyboardButtonTypeCopyText> type_tag;
28943 func(type_tag);
28944 } else {
28945 func(static_cast<inlineKeyboardButtonTypeCopyText &>(*obj));
28946 }
28947 return true;
28948 default:
28949 return false;
28950 }
28951}

◆ downcast_call_impl() [70/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InlineQueryResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 28973 of file td_api.hpp.

28973 { //-V2008
28974 switch (constructor) {
28975 case inlineQueryResultArticle::ID:
28976 if constexpr (AllowTag) {
28977 downcast_call_tag<inlineQueryResultArticle> type_tag;
28978 func(type_tag);
28979 } else {
28980 func(static_cast<inlineQueryResultArticle &>(*obj));
28981 }
28982 return true;
28983 case inlineQueryResultContact::ID:
28984 if constexpr (AllowTag) {
28985 downcast_call_tag<inlineQueryResultContact> type_tag;
28986 func(type_tag);
28987 } else {
28988 func(static_cast<inlineQueryResultContact &>(*obj));
28989 }
28990 return true;
28991 case inlineQueryResultLocation::ID:
28992 if constexpr (AllowTag) {
28993 downcast_call_tag<inlineQueryResultLocation> type_tag;
28994 func(type_tag);
28995 } else {
28996 func(static_cast<inlineQueryResultLocation &>(*obj));
28997 }
28998 return true;
28999 case inlineQueryResultVenue::ID:
29000 if constexpr (AllowTag) {
29001 downcast_call_tag<inlineQueryResultVenue> type_tag;
29002 func(type_tag);
29003 } else {
29004 func(static_cast<inlineQueryResultVenue &>(*obj));
29005 }
29006 return true;
29007 case inlineQueryResultGame::ID:
29008 if constexpr (AllowTag) {
29009 downcast_call_tag<inlineQueryResultGame> type_tag;
29010 func(type_tag);
29011 } else {
29012 func(static_cast<inlineQueryResultGame &>(*obj));
29013 }
29014 return true;
29015 case inlineQueryResultAnimation::ID:
29016 if constexpr (AllowTag) {
29017 downcast_call_tag<inlineQueryResultAnimation> type_tag;
29018 func(type_tag);
29019 } else {
29020 func(static_cast<inlineQueryResultAnimation &>(*obj));
29021 }
29022 return true;
29023 case inlineQueryResultAudio::ID:
29024 if constexpr (AllowTag) {
29025 downcast_call_tag<inlineQueryResultAudio> type_tag;
29026 func(type_tag);
29027 } else {
29028 func(static_cast<inlineQueryResultAudio &>(*obj));
29029 }
29030 return true;
29031 case inlineQueryResultDocument::ID:
29032 if constexpr (AllowTag) {
29033 downcast_call_tag<inlineQueryResultDocument> type_tag;
29034 func(type_tag);
29035 } else {
29036 func(static_cast<inlineQueryResultDocument &>(*obj));
29037 }
29038 return true;
29039 case inlineQueryResultPhoto::ID:
29040 if constexpr (AllowTag) {
29041 downcast_call_tag<inlineQueryResultPhoto> type_tag;
29042 func(type_tag);
29043 } else {
29044 func(static_cast<inlineQueryResultPhoto &>(*obj));
29045 }
29046 return true;
29047 case inlineQueryResultSticker::ID:
29048 if constexpr (AllowTag) {
29049 downcast_call_tag<inlineQueryResultSticker> type_tag;
29050 func(type_tag);
29051 } else {
29052 func(static_cast<inlineQueryResultSticker &>(*obj));
29053 }
29054 return true;
29055 case inlineQueryResultVideo::ID:
29056 if constexpr (AllowTag) {
29057 downcast_call_tag<inlineQueryResultVideo> type_tag;
29058 func(type_tag);
29059 } else {
29060 func(static_cast<inlineQueryResultVideo &>(*obj));
29061 }
29062 return true;
29063 case inlineQueryResultVoiceNote::ID:
29064 if constexpr (AllowTag) {
29065 downcast_call_tag<inlineQueryResultVoiceNote> type_tag;
29066 func(type_tag);
29067 } else {
29068 func(static_cast<inlineQueryResultVoiceNote &>(*obj));
29069 }
29070 return true;
29071 default:
29072 return false;
29073 }
29074}

◆ downcast_call_impl() [71/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InlineQueryResultsButtonType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29096 of file td_api.hpp.

29096 { //-V2008
29097 switch (constructor) {
29098 case inlineQueryResultsButtonTypeStartBot::ID:
29099 if constexpr (AllowTag) {
29100 downcast_call_tag<inlineQueryResultsButtonTypeStartBot> type_tag;
29101 func(type_tag);
29102 } else {
29103 func(static_cast<inlineQueryResultsButtonTypeStartBot &>(*obj));
29104 }
29105 return true;
29106 case inlineQueryResultsButtonTypeWebApp::ID:
29107 if constexpr (AllowTag) {
29108 downcast_call_tag<inlineQueryResultsButtonTypeWebApp> type_tag;
29109 func(type_tag);
29110 } else {
29111 func(static_cast<inlineQueryResultsButtonTypeWebApp &>(*obj));
29112 }
29113 return true;
29114 default:
29115 return false;
29116 }
29117}

◆ downcast_call_impl() [72/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputBackground obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29139 of file td_api.hpp.

29139 { //-V2008
29140 switch (constructor) {
29141 case inputBackgroundLocal::ID:
29142 if constexpr (AllowTag) {
29143 downcast_call_tag<inputBackgroundLocal> type_tag;
29144 func(type_tag);
29145 } else {
29146 func(static_cast<inputBackgroundLocal &>(*obj));
29147 }
29148 return true;
29149 case inputBackgroundRemote::ID:
29150 if constexpr (AllowTag) {
29151 downcast_call_tag<inputBackgroundRemote> type_tag;
29152 func(type_tag);
29153 } else {
29154 func(static_cast<inputBackgroundRemote &>(*obj));
29155 }
29156 return true;
29157 case inputBackgroundPrevious::ID:
29158 if constexpr (AllowTag) {
29159 downcast_call_tag<inputBackgroundPrevious> type_tag;
29160 func(type_tag);
29161 } else {
29162 func(static_cast<inputBackgroundPrevious &>(*obj));
29163 }
29164 return true;
29165 default:
29166 return false;
29167 }
29168}

◆ downcast_call_impl() [73/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputCall obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29190 of file td_api.hpp.

29190 { //-V2008
29191 switch (constructor) {
29192 case inputCallDiscarded::ID:
29193 if constexpr (AllowTag) {
29194 downcast_call_tag<inputCallDiscarded> type_tag;
29195 func(type_tag);
29196 } else {
29197 func(static_cast<inputCallDiscarded &>(*obj));
29198 }
29199 return true;
29200 case inputCallFromMessage::ID:
29201 if constexpr (AllowTag) {
29202 downcast_call_tag<inputCallFromMessage> type_tag;
29203 func(type_tag);
29204 } else {
29205 func(static_cast<inputCallFromMessage &>(*obj));
29206 }
29207 return true;
29208 default:
29209 return false;
29210 }
29211}

◆ downcast_call_impl() [74/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputChatPhoto obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29233 of file td_api.hpp.

29233 { //-V2008
29234 switch (constructor) {
29235 case inputChatPhotoPrevious::ID:
29236 if constexpr (AllowTag) {
29237 downcast_call_tag<inputChatPhotoPrevious> type_tag;
29238 func(type_tag);
29239 } else {
29240 func(static_cast<inputChatPhotoPrevious &>(*obj));
29241 }
29242 return true;
29243 case inputChatPhotoStatic::ID:
29244 if constexpr (AllowTag) {
29245 downcast_call_tag<inputChatPhotoStatic> type_tag;
29246 func(type_tag);
29247 } else {
29248 func(static_cast<inputChatPhotoStatic &>(*obj));
29249 }
29250 return true;
29251 case inputChatPhotoAnimation::ID:
29252 if constexpr (AllowTag) {
29253 downcast_call_tag<inputChatPhotoAnimation> type_tag;
29254 func(type_tag);
29255 } else {
29256 func(static_cast<inputChatPhotoAnimation &>(*obj));
29257 }
29258 return true;
29259 case inputChatPhotoSticker::ID:
29260 if constexpr (AllowTag) {
29261 downcast_call_tag<inputChatPhotoSticker> type_tag;
29262 func(type_tag);
29263 } else {
29264 func(static_cast<inputChatPhotoSticker &>(*obj));
29265 }
29266 return true;
29267 default:
29268 return false;
29269 }
29270}

◆ downcast_call_impl() [75/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputChatTheme obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29292 of file td_api.hpp.

29292 { //-V2008
29293 switch (constructor) {
29294 case inputChatThemeEmoji::ID:
29295 if constexpr (AllowTag) {
29296 downcast_call_tag<inputChatThemeEmoji> type_tag;
29297 func(type_tag);
29298 } else {
29299 func(static_cast<inputChatThemeEmoji &>(*obj));
29300 }
29301 return true;
29302 case inputChatThemeGift::ID:
29303 if constexpr (AllowTag) {
29304 downcast_call_tag<inputChatThemeGift> type_tag;
29305 func(type_tag);
29306 } else {
29307 func(static_cast<inputChatThemeGift &>(*obj));
29308 }
29309 return true;
29310 default:
29311 return false;
29312 }
29313}

◆ downcast_call_impl() [76/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputCredentials obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29335 of file td_api.hpp.

29335 { //-V2008
29336 switch (constructor) {
29337 case inputCredentialsSaved::ID:
29338 if constexpr (AllowTag) {
29339 downcast_call_tag<inputCredentialsSaved> type_tag;
29340 func(type_tag);
29341 } else {
29342 func(static_cast<inputCredentialsSaved &>(*obj));
29343 }
29344 return true;
29345 case inputCredentialsNew::ID:
29346 if constexpr (AllowTag) {
29347 downcast_call_tag<inputCredentialsNew> type_tag;
29348 func(type_tag);
29349 } else {
29350 func(static_cast<inputCredentialsNew &>(*obj));
29351 }
29352 return true;
29353 case inputCredentialsApplePay::ID:
29354 if constexpr (AllowTag) {
29355 downcast_call_tag<inputCredentialsApplePay> type_tag;
29356 func(type_tag);
29357 } else {
29358 func(static_cast<inputCredentialsApplePay &>(*obj));
29359 }
29360 return true;
29361 case inputCredentialsGooglePay::ID:
29362 if constexpr (AllowTag) {
29363 downcast_call_tag<inputCredentialsGooglePay> type_tag;
29364 func(type_tag);
29365 } else {
29366 func(static_cast<inputCredentialsGooglePay &>(*obj));
29367 }
29368 return true;
29369 default:
29370 return false;
29371 }
29372}

◆ downcast_call_impl() [77/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputFile obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29394 of file td_api.hpp.

29394 { //-V2008
29395 switch (constructor) {
29396 case inputFileId::ID:
29397 if constexpr (AllowTag) {
29398 downcast_call_tag<inputFileId> type_tag;
29399 func(type_tag);
29400 } else {
29401 func(static_cast<inputFileId &>(*obj));
29402 }
29403 return true;
29404 case inputFileRemote::ID:
29405 if constexpr (AllowTag) {
29406 downcast_call_tag<inputFileRemote> type_tag;
29407 func(type_tag);
29408 } else {
29409 func(static_cast<inputFileRemote &>(*obj));
29410 }
29411 return true;
29412 case inputFileLocal::ID:
29413 if constexpr (AllowTag) {
29414 downcast_call_tag<inputFileLocal> type_tag;
29415 func(type_tag);
29416 } else {
29417 func(static_cast<inputFileLocal &>(*obj));
29418 }
29419 return true;
29420 case inputFileGenerated::ID:
29421 if constexpr (AllowTag) {
29422 downcast_call_tag<inputFileGenerated> type_tag;
29423 func(type_tag);
29424 } else {
29425 func(static_cast<inputFileGenerated &>(*obj));
29426 }
29427 return true;
29428 default:
29429 return false;
29430 }
29431}

◆ downcast_call_impl() [78/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputGroupCall obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29453 of file td_api.hpp.

29453 { //-V2008
29454 switch (constructor) {
29455 case inputGroupCallLink::ID:
29456 if constexpr (AllowTag) {
29457 downcast_call_tag<inputGroupCallLink> type_tag;
29458 func(type_tag);
29459 } else {
29460 func(static_cast<inputGroupCallLink &>(*obj));
29461 }
29462 return true;
29463 case inputGroupCallMessage::ID:
29464 if constexpr (AllowTag) {
29465 downcast_call_tag<inputGroupCallMessage> type_tag;
29466 func(type_tag);
29467 } else {
29468 func(static_cast<inputGroupCallMessage &>(*obj));
29469 }
29470 return true;
29471 default:
29472 return false;
29473 }
29474}

◆ downcast_call_impl() [79/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputInlineQueryResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29496 of file td_api.hpp.

29496 { //-V2008
29497 switch (constructor) {
29498 case inputInlineQueryResultAnimation::ID:
29499 if constexpr (AllowTag) {
29500 downcast_call_tag<inputInlineQueryResultAnimation> type_tag;
29501 func(type_tag);
29502 } else {
29503 func(static_cast<inputInlineQueryResultAnimation &>(*obj));
29504 }
29505 return true;
29506 case inputInlineQueryResultArticle::ID:
29507 if constexpr (AllowTag) {
29508 downcast_call_tag<inputInlineQueryResultArticle> type_tag;
29509 func(type_tag);
29510 } else {
29511 func(static_cast<inputInlineQueryResultArticle &>(*obj));
29512 }
29513 return true;
29514 case inputInlineQueryResultAudio::ID:
29515 if constexpr (AllowTag) {
29516 downcast_call_tag<inputInlineQueryResultAudio> type_tag;
29517 func(type_tag);
29518 } else {
29519 func(static_cast<inputInlineQueryResultAudio &>(*obj));
29520 }
29521 return true;
29522 case inputInlineQueryResultContact::ID:
29523 if constexpr (AllowTag) {
29524 downcast_call_tag<inputInlineQueryResultContact> type_tag;
29525 func(type_tag);
29526 } else {
29527 func(static_cast<inputInlineQueryResultContact &>(*obj));
29528 }
29529 return true;
29530 case inputInlineQueryResultDocument::ID:
29531 if constexpr (AllowTag) {
29532 downcast_call_tag<inputInlineQueryResultDocument> type_tag;
29533 func(type_tag);
29534 } else {
29535 func(static_cast<inputInlineQueryResultDocument &>(*obj));
29536 }
29537 return true;
29538 case inputInlineQueryResultGame::ID:
29539 if constexpr (AllowTag) {
29540 downcast_call_tag<inputInlineQueryResultGame> type_tag;
29541 func(type_tag);
29542 } else {
29543 func(static_cast<inputInlineQueryResultGame &>(*obj));
29544 }
29545 return true;
29546 case inputInlineQueryResultLocation::ID:
29547 if constexpr (AllowTag) {
29548 downcast_call_tag<inputInlineQueryResultLocation> type_tag;
29549 func(type_tag);
29550 } else {
29551 func(static_cast<inputInlineQueryResultLocation &>(*obj));
29552 }
29553 return true;
29554 case inputInlineQueryResultPhoto::ID:
29555 if constexpr (AllowTag) {
29556 downcast_call_tag<inputInlineQueryResultPhoto> type_tag;
29557 func(type_tag);
29558 } else {
29559 func(static_cast<inputInlineQueryResultPhoto &>(*obj));
29560 }
29561 return true;
29562 case inputInlineQueryResultSticker::ID:
29563 if constexpr (AllowTag) {
29564 downcast_call_tag<inputInlineQueryResultSticker> type_tag;
29565 func(type_tag);
29566 } else {
29567 func(static_cast<inputInlineQueryResultSticker &>(*obj));
29568 }
29569 return true;
29570 case inputInlineQueryResultVenue::ID:
29571 if constexpr (AllowTag) {
29572 downcast_call_tag<inputInlineQueryResultVenue> type_tag;
29573 func(type_tag);
29574 } else {
29575 func(static_cast<inputInlineQueryResultVenue &>(*obj));
29576 }
29577 return true;
29578 case inputInlineQueryResultVideo::ID:
29579 if constexpr (AllowTag) {
29580 downcast_call_tag<inputInlineQueryResultVideo> type_tag;
29581 func(type_tag);
29582 } else {
29583 func(static_cast<inputInlineQueryResultVideo &>(*obj));
29584 }
29585 return true;
29586 case inputInlineQueryResultVoiceNote::ID:
29587 if constexpr (AllowTag) {
29588 downcast_call_tag<inputInlineQueryResultVoiceNote> type_tag;
29589 func(type_tag);
29590 } else {
29591 func(static_cast<inputInlineQueryResultVoiceNote &>(*obj));
29592 }
29593 return true;
29594 default:
29595 return false;
29596 }
29597}

◆ downcast_call_impl() [80/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputInvoice obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29619 of file td_api.hpp.

29619 { //-V2008
29620 switch (constructor) {
29621 case inputInvoiceMessage::ID:
29622 if constexpr (AllowTag) {
29623 downcast_call_tag<inputInvoiceMessage> type_tag;
29624 func(type_tag);
29625 } else {
29626 func(static_cast<inputInvoiceMessage &>(*obj));
29627 }
29628 return true;
29629 case inputInvoiceName::ID:
29630 if constexpr (AllowTag) {
29631 downcast_call_tag<inputInvoiceName> type_tag;
29632 func(type_tag);
29633 } else {
29634 func(static_cast<inputInvoiceName &>(*obj));
29635 }
29636 return true;
29637 case inputInvoiceTelegram::ID:
29638 if constexpr (AllowTag) {
29639 downcast_call_tag<inputInvoiceTelegram> type_tag;
29640 func(type_tag);
29641 } else {
29642 func(static_cast<inputInvoiceTelegram &>(*obj));
29643 }
29644 return true;
29645 default:
29646 return false;
29647 }
29648}

◆ downcast_call_impl() [81/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputMessageContent obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29670 of file td_api.hpp.

29670 { //-V2008
29671 switch (constructor) {
29672 case inputMessageText::ID:
29673 if constexpr (AllowTag) {
29674 downcast_call_tag<inputMessageText> type_tag;
29675 func(type_tag);
29676 } else {
29677 func(static_cast<inputMessageText &>(*obj));
29678 }
29679 return true;
29680 case inputMessageAnimation::ID:
29681 if constexpr (AllowTag) {
29682 downcast_call_tag<inputMessageAnimation> type_tag;
29683 func(type_tag);
29684 } else {
29685 func(static_cast<inputMessageAnimation &>(*obj));
29686 }
29687 return true;
29688 case inputMessageAudio::ID:
29689 if constexpr (AllowTag) {
29690 downcast_call_tag<inputMessageAudio> type_tag;
29691 func(type_tag);
29692 } else {
29693 func(static_cast<inputMessageAudio &>(*obj));
29694 }
29695 return true;
29696 case inputMessageDocument::ID:
29697 if constexpr (AllowTag) {
29698 downcast_call_tag<inputMessageDocument> type_tag;
29699 func(type_tag);
29700 } else {
29701 func(static_cast<inputMessageDocument &>(*obj));
29702 }
29703 return true;
29704 case inputMessagePaidMedia::ID:
29705 if constexpr (AllowTag) {
29706 downcast_call_tag<inputMessagePaidMedia> type_tag;
29707 func(type_tag);
29708 } else {
29709 func(static_cast<inputMessagePaidMedia &>(*obj));
29710 }
29711 return true;
29712 case inputMessagePhoto::ID:
29713 if constexpr (AllowTag) {
29714 downcast_call_tag<inputMessagePhoto> type_tag;
29715 func(type_tag);
29716 } else {
29717 func(static_cast<inputMessagePhoto &>(*obj));
29718 }
29719 return true;
29720 case inputMessageSticker::ID:
29721 if constexpr (AllowTag) {
29722 downcast_call_tag<inputMessageSticker> type_tag;
29723 func(type_tag);
29724 } else {
29725 func(static_cast<inputMessageSticker &>(*obj));
29726 }
29727 return true;
29728 case inputMessageVideo::ID:
29729 if constexpr (AllowTag) {
29730 downcast_call_tag<inputMessageVideo> type_tag;
29731 func(type_tag);
29732 } else {
29733 func(static_cast<inputMessageVideo &>(*obj));
29734 }
29735 return true;
29736 case inputMessageVideoNote::ID:
29737 if constexpr (AllowTag) {
29738 downcast_call_tag<inputMessageVideoNote> type_tag;
29739 func(type_tag);
29740 } else {
29741 func(static_cast<inputMessageVideoNote &>(*obj));
29742 }
29743 return true;
29744 case inputMessageVoiceNote::ID:
29745 if constexpr (AllowTag) {
29746 downcast_call_tag<inputMessageVoiceNote> type_tag;
29747 func(type_tag);
29748 } else {
29749 func(static_cast<inputMessageVoiceNote &>(*obj));
29750 }
29751 return true;
29752 case inputMessageLocation::ID:
29753 if constexpr (AllowTag) {
29754 downcast_call_tag<inputMessageLocation> type_tag;
29755 func(type_tag);
29756 } else {
29757 func(static_cast<inputMessageLocation &>(*obj));
29758 }
29759 return true;
29760 case inputMessageVenue::ID:
29761 if constexpr (AllowTag) {
29762 downcast_call_tag<inputMessageVenue> type_tag;
29763 func(type_tag);
29764 } else {
29765 func(static_cast<inputMessageVenue &>(*obj));
29766 }
29767 return true;
29768 case inputMessageContact::ID:
29769 if constexpr (AllowTag) {
29770 downcast_call_tag<inputMessageContact> type_tag;
29771 func(type_tag);
29772 } else {
29773 func(static_cast<inputMessageContact &>(*obj));
29774 }
29775 return true;
29776 case inputMessageDice::ID:
29777 if constexpr (AllowTag) {
29778 downcast_call_tag<inputMessageDice> type_tag;
29779 func(type_tag);
29780 } else {
29781 func(static_cast<inputMessageDice &>(*obj));
29782 }
29783 return true;
29784 case inputMessageGame::ID:
29785 if constexpr (AllowTag) {
29786 downcast_call_tag<inputMessageGame> type_tag;
29787 func(type_tag);
29788 } else {
29789 func(static_cast<inputMessageGame &>(*obj));
29790 }
29791 return true;
29792 case inputMessageInvoice::ID:
29793 if constexpr (AllowTag) {
29794 downcast_call_tag<inputMessageInvoice> type_tag;
29795 func(type_tag);
29796 } else {
29797 func(static_cast<inputMessageInvoice &>(*obj));
29798 }
29799 return true;
29800 case inputMessagePoll::ID:
29801 if constexpr (AllowTag) {
29802 downcast_call_tag<inputMessagePoll> type_tag;
29803 func(type_tag);
29804 } else {
29805 func(static_cast<inputMessagePoll &>(*obj));
29806 }
29807 return true;
29808 case inputMessageStakeDice::ID:
29809 if constexpr (AllowTag) {
29810 downcast_call_tag<inputMessageStakeDice> type_tag;
29811 func(type_tag);
29812 } else {
29813 func(static_cast<inputMessageStakeDice &>(*obj));
29814 }
29815 return true;
29816 case inputMessageStory::ID:
29817 if constexpr (AllowTag) {
29818 downcast_call_tag<inputMessageStory> type_tag;
29819 func(type_tag);
29820 } else {
29821 func(static_cast<inputMessageStory &>(*obj));
29822 }
29823 return true;
29824 case inputMessageChecklist::ID:
29825 if constexpr (AllowTag) {
29826 downcast_call_tag<inputMessageChecklist> type_tag;
29827 func(type_tag);
29828 } else {
29829 func(static_cast<inputMessageChecklist &>(*obj));
29830 }
29831 return true;
29832 case inputMessageForwarded::ID:
29833 if constexpr (AllowTag) {
29834 downcast_call_tag<inputMessageForwarded> type_tag;
29835 func(type_tag);
29836 } else {
29837 func(static_cast<inputMessageForwarded &>(*obj));
29838 }
29839 return true;
29840 default:
29841 return false;
29842 }
29843}

◆ downcast_call_impl() [82/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputMessageReplyTo obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29865 of file td_api.hpp.

29865 { //-V2008
29866 switch (constructor) {
29867 case inputMessageReplyToMessage::ID:
29868 if constexpr (AllowTag) {
29869 downcast_call_tag<inputMessageReplyToMessage> type_tag;
29870 func(type_tag);
29871 } else {
29872 func(static_cast<inputMessageReplyToMessage &>(*obj));
29873 }
29874 return true;
29875 case inputMessageReplyToExternalMessage::ID:
29876 if constexpr (AllowTag) {
29877 downcast_call_tag<inputMessageReplyToExternalMessage> type_tag;
29878 func(type_tag);
29879 } else {
29880 func(static_cast<inputMessageReplyToExternalMessage &>(*obj));
29881 }
29882 return true;
29883 case inputMessageReplyToStory::ID:
29884 if constexpr (AllowTag) {
29885 downcast_call_tag<inputMessageReplyToStory> type_tag;
29886 func(type_tag);
29887 } else {
29888 func(static_cast<inputMessageReplyToStory &>(*obj));
29889 }
29890 return true;
29891 default:
29892 return false;
29893 }
29894}

◆ downcast_call_impl() [83/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputPaidMediaType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29916 of file td_api.hpp.

29916 { //-V2008
29917 switch (constructor) {
29918 case inputPaidMediaTypePhoto::ID:
29919 if constexpr (AllowTag) {
29920 downcast_call_tag<inputPaidMediaTypePhoto> type_tag;
29921 func(type_tag);
29922 } else {
29923 func(static_cast<inputPaidMediaTypePhoto &>(*obj));
29924 }
29925 return true;
29926 case inputPaidMediaTypeVideo::ID:
29927 if constexpr (AllowTag) {
29928 downcast_call_tag<inputPaidMediaTypeVideo> type_tag;
29929 func(type_tag);
29930 } else {
29931 func(static_cast<inputPaidMediaTypeVideo &>(*obj));
29932 }
29933 return true;
29934 default:
29935 return false;
29936 }
29937}

◆ downcast_call_impl() [84/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputPassportElement obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 29959 of file td_api.hpp.

29959 { //-V2008
29960 switch (constructor) {
29961 case inputPassportElementPersonalDetails::ID:
29962 if constexpr (AllowTag) {
29963 downcast_call_tag<inputPassportElementPersonalDetails> type_tag;
29964 func(type_tag);
29965 } else {
29966 func(static_cast<inputPassportElementPersonalDetails &>(*obj));
29967 }
29968 return true;
29969 case inputPassportElementPassport::ID:
29970 if constexpr (AllowTag) {
29971 downcast_call_tag<inputPassportElementPassport> type_tag;
29972 func(type_tag);
29973 } else {
29974 func(static_cast<inputPassportElementPassport &>(*obj));
29975 }
29976 return true;
29977 case inputPassportElementDriverLicense::ID:
29978 if constexpr (AllowTag) {
29979 downcast_call_tag<inputPassportElementDriverLicense> type_tag;
29980 func(type_tag);
29981 } else {
29982 func(static_cast<inputPassportElementDriverLicense &>(*obj));
29983 }
29984 return true;
29985 case inputPassportElementIdentityCard::ID:
29986 if constexpr (AllowTag) {
29987 downcast_call_tag<inputPassportElementIdentityCard> type_tag;
29988 func(type_tag);
29989 } else {
29990 func(static_cast<inputPassportElementIdentityCard &>(*obj));
29991 }
29992 return true;
29993 case inputPassportElementInternalPassport::ID:
29994 if constexpr (AllowTag) {
29995 downcast_call_tag<inputPassportElementInternalPassport> type_tag;
29996 func(type_tag);
29997 } else {
29998 func(static_cast<inputPassportElementInternalPassport &>(*obj));
29999 }
30000 return true;
30001 case inputPassportElementAddress::ID:
30002 if constexpr (AllowTag) {
30003 downcast_call_tag<inputPassportElementAddress> type_tag;
30004 func(type_tag);
30005 } else {
30006 func(static_cast<inputPassportElementAddress &>(*obj));
30007 }
30008 return true;
30009 case inputPassportElementUtilityBill::ID:
30010 if constexpr (AllowTag) {
30011 downcast_call_tag<inputPassportElementUtilityBill> type_tag;
30012 func(type_tag);
30013 } else {
30014 func(static_cast<inputPassportElementUtilityBill &>(*obj));
30015 }
30016 return true;
30017 case inputPassportElementBankStatement::ID:
30018 if constexpr (AllowTag) {
30019 downcast_call_tag<inputPassportElementBankStatement> type_tag;
30020 func(type_tag);
30021 } else {
30022 func(static_cast<inputPassportElementBankStatement &>(*obj));
30023 }
30024 return true;
30025 case inputPassportElementRentalAgreement::ID:
30026 if constexpr (AllowTag) {
30027 downcast_call_tag<inputPassportElementRentalAgreement> type_tag;
30028 func(type_tag);
30029 } else {
30030 func(static_cast<inputPassportElementRentalAgreement &>(*obj));
30031 }
30032 return true;
30033 case inputPassportElementPassportRegistration::ID:
30034 if constexpr (AllowTag) {
30035 downcast_call_tag<inputPassportElementPassportRegistration> type_tag;
30036 func(type_tag);
30037 } else {
30038 func(static_cast<inputPassportElementPassportRegistration &>(*obj));
30039 }
30040 return true;
30041 case inputPassportElementTemporaryRegistration::ID:
30042 if constexpr (AllowTag) {
30043 downcast_call_tag<inputPassportElementTemporaryRegistration> type_tag;
30044 func(type_tag);
30045 } else {
30046 func(static_cast<inputPassportElementTemporaryRegistration &>(*obj));
30047 }
30048 return true;
30049 case inputPassportElementPhoneNumber::ID:
30050 if constexpr (AllowTag) {
30051 downcast_call_tag<inputPassportElementPhoneNumber> type_tag;
30052 func(type_tag);
30053 } else {
30054 func(static_cast<inputPassportElementPhoneNumber &>(*obj));
30055 }
30056 return true;
30057 case inputPassportElementEmailAddress::ID:
30058 if constexpr (AllowTag) {
30059 downcast_call_tag<inputPassportElementEmailAddress> type_tag;
30060 func(type_tag);
30061 } else {
30062 func(static_cast<inputPassportElementEmailAddress &>(*obj));
30063 }
30064 return true;
30065 default:
30066 return false;
30067 }
30068}

◆ downcast_call_impl() [85/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputPassportElementErrorSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30090 of file td_api.hpp.

30090 { //-V2008
30091 switch (constructor) {
30092 case inputPassportElementErrorSourceUnspecified::ID:
30093 if constexpr (AllowTag) {
30094 downcast_call_tag<inputPassportElementErrorSourceUnspecified> type_tag;
30095 func(type_tag);
30096 } else {
30097 func(static_cast<inputPassportElementErrorSourceUnspecified &>(*obj));
30098 }
30099 return true;
30100 case inputPassportElementErrorSourceDataField::ID:
30101 if constexpr (AllowTag) {
30102 downcast_call_tag<inputPassportElementErrorSourceDataField> type_tag;
30103 func(type_tag);
30104 } else {
30105 func(static_cast<inputPassportElementErrorSourceDataField &>(*obj));
30106 }
30107 return true;
30108 case inputPassportElementErrorSourceFrontSide::ID:
30109 if constexpr (AllowTag) {
30110 downcast_call_tag<inputPassportElementErrorSourceFrontSide> type_tag;
30111 func(type_tag);
30112 } else {
30113 func(static_cast<inputPassportElementErrorSourceFrontSide &>(*obj));
30114 }
30115 return true;
30116 case inputPassportElementErrorSourceReverseSide::ID:
30117 if constexpr (AllowTag) {
30118 downcast_call_tag<inputPassportElementErrorSourceReverseSide> type_tag;
30119 func(type_tag);
30120 } else {
30121 func(static_cast<inputPassportElementErrorSourceReverseSide &>(*obj));
30122 }
30123 return true;
30124 case inputPassportElementErrorSourceSelfie::ID:
30125 if constexpr (AllowTag) {
30126 downcast_call_tag<inputPassportElementErrorSourceSelfie> type_tag;
30127 func(type_tag);
30128 } else {
30129 func(static_cast<inputPassportElementErrorSourceSelfie &>(*obj));
30130 }
30131 return true;
30132 case inputPassportElementErrorSourceTranslationFile::ID:
30133 if constexpr (AllowTag) {
30134 downcast_call_tag<inputPassportElementErrorSourceTranslationFile> type_tag;
30135 func(type_tag);
30136 } else {
30137 func(static_cast<inputPassportElementErrorSourceTranslationFile &>(*obj));
30138 }
30139 return true;
30140 case inputPassportElementErrorSourceTranslationFiles::ID:
30141 if constexpr (AllowTag) {
30142 downcast_call_tag<inputPassportElementErrorSourceTranslationFiles> type_tag;
30143 func(type_tag);
30144 } else {
30145 func(static_cast<inputPassportElementErrorSourceTranslationFiles &>(*obj));
30146 }
30147 return true;
30148 case inputPassportElementErrorSourceFile::ID:
30149 if constexpr (AllowTag) {
30150 downcast_call_tag<inputPassportElementErrorSourceFile> type_tag;
30151 func(type_tag);
30152 } else {
30153 func(static_cast<inputPassportElementErrorSourceFile &>(*obj));
30154 }
30155 return true;
30156 case inputPassportElementErrorSourceFiles::ID:
30157 if constexpr (AllowTag) {
30158 downcast_call_tag<inputPassportElementErrorSourceFiles> type_tag;
30159 func(type_tag);
30160 } else {
30161 func(static_cast<inputPassportElementErrorSourceFiles &>(*obj));
30162 }
30163 return true;
30164 default:
30165 return false;
30166 }
30167}

◆ downcast_call_impl() [86/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputPollType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30189 of file td_api.hpp.

30189 { //-V2008
30190 switch (constructor) {
30191 case inputPollTypeRegular::ID:
30192 if constexpr (AllowTag) {
30193 downcast_call_tag<inputPollTypeRegular> type_tag;
30194 func(type_tag);
30195 } else {
30196 func(static_cast<inputPollTypeRegular &>(*obj));
30197 }
30198 return true;
30199 case inputPollTypeQuiz::ID:
30200 if constexpr (AllowTag) {
30201 downcast_call_tag<inputPollTypeQuiz> type_tag;
30202 func(type_tag);
30203 } else {
30204 func(static_cast<inputPollTypeQuiz &>(*obj));
30205 }
30206 return true;
30207 default:
30208 return false;
30209 }
30210}

◆ downcast_call_impl() [87/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputStoryAreaType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30232 of file td_api.hpp.

30232 { //-V2008
30233 switch (constructor) {
30234 case inputStoryAreaTypeLocation::ID:
30235 if constexpr (AllowTag) {
30236 downcast_call_tag<inputStoryAreaTypeLocation> type_tag;
30237 func(type_tag);
30238 } else {
30239 func(static_cast<inputStoryAreaTypeLocation &>(*obj));
30240 }
30241 return true;
30242 case inputStoryAreaTypeFoundVenue::ID:
30243 if constexpr (AllowTag) {
30244 downcast_call_tag<inputStoryAreaTypeFoundVenue> type_tag;
30245 func(type_tag);
30246 } else {
30247 func(static_cast<inputStoryAreaTypeFoundVenue &>(*obj));
30248 }
30249 return true;
30250 case inputStoryAreaTypePreviousVenue::ID:
30251 if constexpr (AllowTag) {
30252 downcast_call_tag<inputStoryAreaTypePreviousVenue> type_tag;
30253 func(type_tag);
30254 } else {
30255 func(static_cast<inputStoryAreaTypePreviousVenue &>(*obj));
30256 }
30257 return true;
30258 case inputStoryAreaTypeSuggestedReaction::ID:
30259 if constexpr (AllowTag) {
30260 downcast_call_tag<inputStoryAreaTypeSuggestedReaction> type_tag;
30261 func(type_tag);
30262 } else {
30263 func(static_cast<inputStoryAreaTypeSuggestedReaction &>(*obj));
30264 }
30265 return true;
30266 case inputStoryAreaTypeMessage::ID:
30267 if constexpr (AllowTag) {
30268 downcast_call_tag<inputStoryAreaTypeMessage> type_tag;
30269 func(type_tag);
30270 } else {
30271 func(static_cast<inputStoryAreaTypeMessage &>(*obj));
30272 }
30273 return true;
30274 case inputStoryAreaTypeLink::ID:
30275 if constexpr (AllowTag) {
30276 downcast_call_tag<inputStoryAreaTypeLink> type_tag;
30277 func(type_tag);
30278 } else {
30279 func(static_cast<inputStoryAreaTypeLink &>(*obj));
30280 }
30281 return true;
30282 case inputStoryAreaTypeWeather::ID:
30283 if constexpr (AllowTag) {
30284 downcast_call_tag<inputStoryAreaTypeWeather> type_tag;
30285 func(type_tag);
30286 } else {
30287 func(static_cast<inputStoryAreaTypeWeather &>(*obj));
30288 }
30289 return true;
30290 case inputStoryAreaTypeUpgradedGift::ID:
30291 if constexpr (AllowTag) {
30292 downcast_call_tag<inputStoryAreaTypeUpgradedGift> type_tag;
30293 func(type_tag);
30294 } else {
30295 func(static_cast<inputStoryAreaTypeUpgradedGift &>(*obj));
30296 }
30297 return true;
30298 default:
30299 return false;
30300 }
30301}

◆ downcast_call_impl() [88/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InputStoryContent obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30323 of file td_api.hpp.

30323 { //-V2008
30324 switch (constructor) {
30325 case inputStoryContentPhoto::ID:
30326 if constexpr (AllowTag) {
30327 downcast_call_tag<inputStoryContentPhoto> type_tag;
30328 func(type_tag);
30329 } else {
30330 func(static_cast<inputStoryContentPhoto &>(*obj));
30331 }
30332 return true;
30333 case inputStoryContentVideo::ID:
30334 if constexpr (AllowTag) {
30335 downcast_call_tag<inputStoryContentVideo> type_tag;
30336 func(type_tag);
30337 } else {
30338 func(static_cast<inputStoryContentVideo &>(*obj));
30339 }
30340 return true;
30341 default:
30342 return false;
30343 }
30344}

◆ downcast_call_impl() [89/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InternalLinkType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30366 of file td_api.hpp.

30366 { //-V2008
30367 switch (constructor) {
30368 case internalLinkTypeAttachmentMenuBot::ID:
30369 if constexpr (AllowTag) {
30370 downcast_call_tag<internalLinkTypeAttachmentMenuBot> type_tag;
30371 func(type_tag);
30372 } else {
30373 func(static_cast<internalLinkTypeAttachmentMenuBot &>(*obj));
30374 }
30375 return true;
30376 case internalLinkTypeAuthenticationCode::ID:
30377 if constexpr (AllowTag) {
30378 downcast_call_tag<internalLinkTypeAuthenticationCode> type_tag;
30379 func(type_tag);
30380 } else {
30381 func(static_cast<internalLinkTypeAuthenticationCode &>(*obj));
30382 }
30383 return true;
30384 case internalLinkTypeBackground::ID:
30385 if constexpr (AllowTag) {
30386 downcast_call_tag<internalLinkTypeBackground> type_tag;
30387 func(type_tag);
30388 } else {
30389 func(static_cast<internalLinkTypeBackground &>(*obj));
30390 }
30391 return true;
30392 case internalLinkTypeBotAddToChannel::ID:
30393 if constexpr (AllowTag) {
30394 downcast_call_tag<internalLinkTypeBotAddToChannel> type_tag;
30395 func(type_tag);
30396 } else {
30397 func(static_cast<internalLinkTypeBotAddToChannel &>(*obj));
30398 }
30399 return true;
30400 case internalLinkTypeBotStart::ID:
30401 if constexpr (AllowTag) {
30402 downcast_call_tag<internalLinkTypeBotStart> type_tag;
30403 func(type_tag);
30404 } else {
30405 func(static_cast<internalLinkTypeBotStart &>(*obj));
30406 }
30407 return true;
30408 case internalLinkTypeBotStartInGroup::ID:
30409 if constexpr (AllowTag) {
30410 downcast_call_tag<internalLinkTypeBotStartInGroup> type_tag;
30411 func(type_tag);
30412 } else {
30413 func(static_cast<internalLinkTypeBotStartInGroup &>(*obj));
30414 }
30415 return true;
30416 case internalLinkTypeBusinessChat::ID:
30417 if constexpr (AllowTag) {
30418 downcast_call_tag<internalLinkTypeBusinessChat> type_tag;
30419 func(type_tag);
30420 } else {
30421 func(static_cast<internalLinkTypeBusinessChat &>(*obj));
30422 }
30423 return true;
30424 case internalLinkTypeCallsPage::ID:
30425 if constexpr (AllowTag) {
30426 downcast_call_tag<internalLinkTypeCallsPage> type_tag;
30427 func(type_tag);
30428 } else {
30429 func(static_cast<internalLinkTypeCallsPage &>(*obj));
30430 }
30431 return true;
30432 case internalLinkTypeChatAffiliateProgram::ID:
30433 if constexpr (AllowTag) {
30434 downcast_call_tag<internalLinkTypeChatAffiliateProgram> type_tag;
30435 func(type_tag);
30436 } else {
30437 func(static_cast<internalLinkTypeChatAffiliateProgram &>(*obj));
30438 }
30439 return true;
30440 case internalLinkTypeChatBoost::ID:
30441 if constexpr (AllowTag) {
30442 downcast_call_tag<internalLinkTypeChatBoost> type_tag;
30443 func(type_tag);
30444 } else {
30445 func(static_cast<internalLinkTypeChatBoost &>(*obj));
30446 }
30447 return true;
30448 case internalLinkTypeChatFolderInvite::ID:
30449 if constexpr (AllowTag) {
30450 downcast_call_tag<internalLinkTypeChatFolderInvite> type_tag;
30451 func(type_tag);
30452 } else {
30453 func(static_cast<internalLinkTypeChatFolderInvite &>(*obj));
30454 }
30455 return true;
30456 case internalLinkTypeChatInvite::ID:
30457 if constexpr (AllowTag) {
30458 downcast_call_tag<internalLinkTypeChatInvite> type_tag;
30459 func(type_tag);
30460 } else {
30461 func(static_cast<internalLinkTypeChatInvite &>(*obj));
30462 }
30463 return true;
30464 case internalLinkTypeChatSelection::ID:
30465 if constexpr (AllowTag) {
30466 downcast_call_tag<internalLinkTypeChatSelection> type_tag;
30467 func(type_tag);
30468 } else {
30469 func(static_cast<internalLinkTypeChatSelection &>(*obj));
30470 }
30471 return true;
30472 case internalLinkTypeContactsPage::ID:
30473 if constexpr (AllowTag) {
30474 downcast_call_tag<internalLinkTypeContactsPage> type_tag;
30475 func(type_tag);
30476 } else {
30477 func(static_cast<internalLinkTypeContactsPage &>(*obj));
30478 }
30479 return true;
30480 case internalLinkTypeDirectMessagesChat::ID:
30481 if constexpr (AllowTag) {
30482 downcast_call_tag<internalLinkTypeDirectMessagesChat> type_tag;
30483 func(type_tag);
30484 } else {
30485 func(static_cast<internalLinkTypeDirectMessagesChat &>(*obj));
30486 }
30487 return true;
30488 case internalLinkTypeGame::ID:
30489 if constexpr (AllowTag) {
30490 downcast_call_tag<internalLinkTypeGame> type_tag;
30491 func(type_tag);
30492 } else {
30493 func(static_cast<internalLinkTypeGame &>(*obj));
30494 }
30495 return true;
30496 case internalLinkTypeGiftAuction::ID:
30497 if constexpr (AllowTag) {
30498 downcast_call_tag<internalLinkTypeGiftAuction> type_tag;
30499 func(type_tag);
30500 } else {
30501 func(static_cast<internalLinkTypeGiftAuction &>(*obj));
30502 }
30503 return true;
30504 case internalLinkTypeGiftCollection::ID:
30505 if constexpr (AllowTag) {
30506 downcast_call_tag<internalLinkTypeGiftCollection> type_tag;
30507 func(type_tag);
30508 } else {
30509 func(static_cast<internalLinkTypeGiftCollection &>(*obj));
30510 }
30511 return true;
30512 case internalLinkTypeGroupCall::ID:
30513 if constexpr (AllowTag) {
30514 downcast_call_tag<internalLinkTypeGroupCall> type_tag;
30515 func(type_tag);
30516 } else {
30517 func(static_cast<internalLinkTypeGroupCall &>(*obj));
30518 }
30519 return true;
30520 case internalLinkTypeInstantView::ID:
30521 if constexpr (AllowTag) {
30522 downcast_call_tag<internalLinkTypeInstantView> type_tag;
30523 func(type_tag);
30524 } else {
30525 func(static_cast<internalLinkTypeInstantView &>(*obj));
30526 }
30527 return true;
30528 case internalLinkTypeInvoice::ID:
30529 if constexpr (AllowTag) {
30530 downcast_call_tag<internalLinkTypeInvoice> type_tag;
30531 func(type_tag);
30532 } else {
30533 func(static_cast<internalLinkTypeInvoice &>(*obj));
30534 }
30535 return true;
30536 case internalLinkTypeLanguagePack::ID:
30537 if constexpr (AllowTag) {
30538 downcast_call_tag<internalLinkTypeLanguagePack> type_tag;
30539 func(type_tag);
30540 } else {
30541 func(static_cast<internalLinkTypeLanguagePack &>(*obj));
30542 }
30543 return true;
30544 case internalLinkTypeLiveStory::ID:
30545 if constexpr (AllowTag) {
30546 downcast_call_tag<internalLinkTypeLiveStory> type_tag;
30547 func(type_tag);
30548 } else {
30549 func(static_cast<internalLinkTypeLiveStory &>(*obj));
30550 }
30551 return true;
30552 case internalLinkTypeMainWebApp::ID:
30553 if constexpr (AllowTag) {
30554 downcast_call_tag<internalLinkTypeMainWebApp> type_tag;
30555 func(type_tag);
30556 } else {
30557 func(static_cast<internalLinkTypeMainWebApp &>(*obj));
30558 }
30559 return true;
30560 case internalLinkTypeMessage::ID:
30561 if constexpr (AllowTag) {
30562 downcast_call_tag<internalLinkTypeMessage> type_tag;
30563 func(type_tag);
30564 } else {
30565 func(static_cast<internalLinkTypeMessage &>(*obj));
30566 }
30567 return true;
30568 case internalLinkTypeMessageDraft::ID:
30569 if constexpr (AllowTag) {
30570 downcast_call_tag<internalLinkTypeMessageDraft> type_tag;
30571 func(type_tag);
30572 } else {
30573 func(static_cast<internalLinkTypeMessageDraft &>(*obj));
30574 }
30575 return true;
30576 case internalLinkTypeMyProfilePage::ID:
30577 if constexpr (AllowTag) {
30578 downcast_call_tag<internalLinkTypeMyProfilePage> type_tag;
30579 func(type_tag);
30580 } else {
30581 func(static_cast<internalLinkTypeMyProfilePage &>(*obj));
30582 }
30583 return true;
30584 case internalLinkTypeNewChannelChat::ID:
30585 if constexpr (AllowTag) {
30586 downcast_call_tag<internalLinkTypeNewChannelChat> type_tag;
30587 func(type_tag);
30588 } else {
30589 func(static_cast<internalLinkTypeNewChannelChat &>(*obj));
30590 }
30591 return true;
30592 case internalLinkTypeNewGroupChat::ID:
30593 if constexpr (AllowTag) {
30594 downcast_call_tag<internalLinkTypeNewGroupChat> type_tag;
30595 func(type_tag);
30596 } else {
30597 func(static_cast<internalLinkTypeNewGroupChat &>(*obj));
30598 }
30599 return true;
30600 case internalLinkTypeNewPrivateChat::ID:
30601 if constexpr (AllowTag) {
30602 downcast_call_tag<internalLinkTypeNewPrivateChat> type_tag;
30603 func(type_tag);
30604 } else {
30605 func(static_cast<internalLinkTypeNewPrivateChat &>(*obj));
30606 }
30607 return true;
30608 case internalLinkTypeNewStory::ID:
30609 if constexpr (AllowTag) {
30610 downcast_call_tag<internalLinkTypeNewStory> type_tag;
30611 func(type_tag);
30612 } else {
30613 func(static_cast<internalLinkTypeNewStory &>(*obj));
30614 }
30615 return true;
30616 case internalLinkTypeOauth::ID:
30617 if constexpr (AllowTag) {
30618 downcast_call_tag<internalLinkTypeOauth> type_tag;
30619 func(type_tag);
30620 } else {
30621 func(static_cast<internalLinkTypeOauth &>(*obj));
30622 }
30623 return true;
30624 case internalLinkTypePassportDataRequest::ID:
30625 if constexpr (AllowTag) {
30626 downcast_call_tag<internalLinkTypePassportDataRequest> type_tag;
30627 func(type_tag);
30628 } else {
30629 func(static_cast<internalLinkTypePassportDataRequest &>(*obj));
30630 }
30631 return true;
30632 case internalLinkTypePhoneNumberConfirmation::ID:
30633 if constexpr (AllowTag) {
30634 downcast_call_tag<internalLinkTypePhoneNumberConfirmation> type_tag;
30635 func(type_tag);
30636 } else {
30637 func(static_cast<internalLinkTypePhoneNumberConfirmation &>(*obj));
30638 }
30639 return true;
30640 case internalLinkTypePremiumFeaturesPage::ID:
30641 if constexpr (AllowTag) {
30642 downcast_call_tag<internalLinkTypePremiumFeaturesPage> type_tag;
30643 func(type_tag);
30644 } else {
30645 func(static_cast<internalLinkTypePremiumFeaturesPage &>(*obj));
30646 }
30647 return true;
30648 case internalLinkTypePremiumGiftCode::ID:
30649 if constexpr (AllowTag) {
30650 downcast_call_tag<internalLinkTypePremiumGiftCode> type_tag;
30651 func(type_tag);
30652 } else {
30653 func(static_cast<internalLinkTypePremiumGiftCode &>(*obj));
30654 }
30655 return true;
30656 case internalLinkTypePremiumGiftPurchase::ID:
30657 if constexpr (AllowTag) {
30658 downcast_call_tag<internalLinkTypePremiumGiftPurchase> type_tag;
30659 func(type_tag);
30660 } else {
30661 func(static_cast<internalLinkTypePremiumGiftPurchase &>(*obj));
30662 }
30663 return true;
30664 case internalLinkTypeProxy::ID:
30665 if constexpr (AllowTag) {
30666 downcast_call_tag<internalLinkTypeProxy> type_tag;
30667 func(type_tag);
30668 } else {
30669 func(static_cast<internalLinkTypeProxy &>(*obj));
30670 }
30671 return true;
30672 case internalLinkTypePublicChat::ID:
30673 if constexpr (AllowTag) {
30674 downcast_call_tag<internalLinkTypePublicChat> type_tag;
30675 func(type_tag);
30676 } else {
30677 func(static_cast<internalLinkTypePublicChat &>(*obj));
30678 }
30679 return true;
30680 case internalLinkTypeQrCodeAuthentication::ID:
30681 if constexpr (AllowTag) {
30682 downcast_call_tag<internalLinkTypeQrCodeAuthentication> type_tag;
30683 func(type_tag);
30684 } else {
30685 func(static_cast<internalLinkTypeQrCodeAuthentication &>(*obj));
30686 }
30687 return true;
30688 case internalLinkTypeRequestManagedBot::ID:
30689 if constexpr (AllowTag) {
30690 downcast_call_tag<internalLinkTypeRequestManagedBot> type_tag;
30691 func(type_tag);
30692 } else {
30693 func(static_cast<internalLinkTypeRequestManagedBot &>(*obj));
30694 }
30695 return true;
30696 case internalLinkTypeRestorePurchases::ID:
30697 if constexpr (AllowTag) {
30698 downcast_call_tag<internalLinkTypeRestorePurchases> type_tag;
30699 func(type_tag);
30700 } else {
30701 func(static_cast<internalLinkTypeRestorePurchases &>(*obj));
30702 }
30703 return true;
30704 case internalLinkTypeSavedMessages::ID:
30705 if constexpr (AllowTag) {
30706 downcast_call_tag<internalLinkTypeSavedMessages> type_tag;
30707 func(type_tag);
30708 } else {
30709 func(static_cast<internalLinkTypeSavedMessages &>(*obj));
30710 }
30711 return true;
30712 case internalLinkTypeSearch::ID:
30713 if constexpr (AllowTag) {
30714 downcast_call_tag<internalLinkTypeSearch> type_tag;
30715 func(type_tag);
30716 } else {
30717 func(static_cast<internalLinkTypeSearch &>(*obj));
30718 }
30719 return true;
30720 case internalLinkTypeSettings::ID:
30721 if constexpr (AllowTag) {
30722 downcast_call_tag<internalLinkTypeSettings> type_tag;
30723 func(type_tag);
30724 } else {
30725 func(static_cast<internalLinkTypeSettings &>(*obj));
30726 }
30727 return true;
30728 case internalLinkTypeStarPurchase::ID:
30729 if constexpr (AllowTag) {
30730 downcast_call_tag<internalLinkTypeStarPurchase> type_tag;
30731 func(type_tag);
30732 } else {
30733 func(static_cast<internalLinkTypeStarPurchase &>(*obj));
30734 }
30735 return true;
30736 case internalLinkTypeStickerSet::ID:
30737 if constexpr (AllowTag) {
30738 downcast_call_tag<internalLinkTypeStickerSet> type_tag;
30739 func(type_tag);
30740 } else {
30741 func(static_cast<internalLinkTypeStickerSet &>(*obj));
30742 }
30743 return true;
30744 case internalLinkTypeStory::ID:
30745 if constexpr (AllowTag) {
30746 downcast_call_tag<internalLinkTypeStory> type_tag;
30747 func(type_tag);
30748 } else {
30749 func(static_cast<internalLinkTypeStory &>(*obj));
30750 }
30751 return true;
30752 case internalLinkTypeStoryAlbum::ID:
30753 if constexpr (AllowTag) {
30754 downcast_call_tag<internalLinkTypeStoryAlbum> type_tag;
30755 func(type_tag);
30756 } else {
30757 func(static_cast<internalLinkTypeStoryAlbum &>(*obj));
30758 }
30759 return true;
30760 case internalLinkTypeTheme::ID:
30761 if constexpr (AllowTag) {
30762 downcast_call_tag<internalLinkTypeTheme> type_tag;
30763 func(type_tag);
30764 } else {
30765 func(static_cast<internalLinkTypeTheme &>(*obj));
30766 }
30767 return true;
30768 case internalLinkTypeTextCompositionStyle::ID:
30769 if constexpr (AllowTag) {
30770 downcast_call_tag<internalLinkTypeTextCompositionStyle> type_tag;
30771 func(type_tag);
30772 } else {
30773 func(static_cast<internalLinkTypeTextCompositionStyle &>(*obj));
30774 }
30775 return true;
30776 case internalLinkTypeUnknownDeepLink::ID:
30777 if constexpr (AllowTag) {
30778 downcast_call_tag<internalLinkTypeUnknownDeepLink> type_tag;
30779 func(type_tag);
30780 } else {
30781 func(static_cast<internalLinkTypeUnknownDeepLink &>(*obj));
30782 }
30783 return true;
30784 case internalLinkTypeUpgradedGift::ID:
30785 if constexpr (AllowTag) {
30786 downcast_call_tag<internalLinkTypeUpgradedGift> type_tag;
30787 func(type_tag);
30788 } else {
30789 func(static_cast<internalLinkTypeUpgradedGift &>(*obj));
30790 }
30791 return true;
30792 case internalLinkTypeUserPhoneNumber::ID:
30793 if constexpr (AllowTag) {
30794 downcast_call_tag<internalLinkTypeUserPhoneNumber> type_tag;
30795 func(type_tag);
30796 } else {
30797 func(static_cast<internalLinkTypeUserPhoneNumber &>(*obj));
30798 }
30799 return true;
30800 case internalLinkTypeUserToken::ID:
30801 if constexpr (AllowTag) {
30802 downcast_call_tag<internalLinkTypeUserToken> type_tag;
30803 func(type_tag);
30804 } else {
30805 func(static_cast<internalLinkTypeUserToken &>(*obj));
30806 }
30807 return true;
30808 case internalLinkTypeVideoChat::ID:
30809 if constexpr (AllowTag) {
30810 downcast_call_tag<internalLinkTypeVideoChat> type_tag;
30811 func(type_tag);
30812 } else {
30813 func(static_cast<internalLinkTypeVideoChat &>(*obj));
30814 }
30815 return true;
30816 case internalLinkTypeWebApp::ID:
30817 if constexpr (AllowTag) {
30818 downcast_call_tag<internalLinkTypeWebApp> type_tag;
30819 func(type_tag);
30820 } else {
30821 func(static_cast<internalLinkTypeWebApp &>(*obj));
30822 }
30823 return true;
30824 default:
30825 return false;
30826 }
30827}

◆ downcast_call_impl() [90/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InviteGroupCallParticipantResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30849 of file td_api.hpp.

30849 { //-V2008
30850 switch (constructor) {
30851 case inviteGroupCallParticipantResultUserPrivacyRestricted::ID:
30852 if constexpr (AllowTag) {
30853 downcast_call_tag<inviteGroupCallParticipantResultUserPrivacyRestricted> type_tag;
30854 func(type_tag);
30855 } else {
30856 func(static_cast<inviteGroupCallParticipantResultUserPrivacyRestricted &>(*obj));
30857 }
30858 return true;
30859 case inviteGroupCallParticipantResultUserAlreadyParticipant::ID:
30860 if constexpr (AllowTag) {
30861 downcast_call_tag<inviteGroupCallParticipantResultUserAlreadyParticipant> type_tag;
30862 func(type_tag);
30863 } else {
30864 func(static_cast<inviteGroupCallParticipantResultUserAlreadyParticipant &>(*obj));
30865 }
30866 return true;
30867 case inviteGroupCallParticipantResultUserWasBanned::ID:
30868 if constexpr (AllowTag) {
30869 downcast_call_tag<inviteGroupCallParticipantResultUserWasBanned> type_tag;
30870 func(type_tag);
30871 } else {
30872 func(static_cast<inviteGroupCallParticipantResultUserWasBanned &>(*obj));
30873 }
30874 return true;
30875 case inviteGroupCallParticipantResultSuccess::ID:
30876 if constexpr (AllowTag) {
30877 downcast_call_tag<inviteGroupCallParticipantResultSuccess> type_tag;
30878 func(type_tag);
30879 } else {
30880 func(static_cast<inviteGroupCallParticipantResultSuccess &>(*obj));
30881 }
30882 return true;
30883 default:
30884 return false;
30885 }
30886}

◆ downcast_call_impl() [91/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
InviteLinkChatType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30908 of file td_api.hpp.

30908 { //-V2008
30909 switch (constructor) {
30910 case inviteLinkChatTypeBasicGroup::ID:
30911 if constexpr (AllowTag) {
30912 downcast_call_tag<inviteLinkChatTypeBasicGroup> type_tag;
30913 func(type_tag);
30914 } else {
30915 func(static_cast<inviteLinkChatTypeBasicGroup &>(*obj));
30916 }
30917 return true;
30918 case inviteLinkChatTypeSupergroup::ID:
30919 if constexpr (AllowTag) {
30920 downcast_call_tag<inviteLinkChatTypeSupergroup> type_tag;
30921 func(type_tag);
30922 } else {
30923 func(static_cast<inviteLinkChatTypeSupergroup &>(*obj));
30924 }
30925 return true;
30926 case inviteLinkChatTypeChannel::ID:
30927 if constexpr (AllowTag) {
30928 downcast_call_tag<inviteLinkChatTypeChannel> type_tag;
30929 func(type_tag);
30930 } else {
30931 func(static_cast<inviteLinkChatTypeChannel &>(*obj));
30932 }
30933 return true;
30934 default:
30935 return false;
30936 }
30937}

◆ downcast_call_impl() [92/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
JsonValue obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 30959 of file td_api.hpp.

30959 { //-V2008
30960 switch (constructor) {
30961 case jsonValueNull::ID:
30962 if constexpr (AllowTag) {
30963 downcast_call_tag<jsonValueNull> type_tag;
30964 func(type_tag);
30965 } else {
30966 func(static_cast<jsonValueNull &>(*obj));
30967 }
30968 return true;
30969 case jsonValueBoolean::ID:
30970 if constexpr (AllowTag) {
30971 downcast_call_tag<jsonValueBoolean> type_tag;
30972 func(type_tag);
30973 } else {
30974 func(static_cast<jsonValueBoolean &>(*obj));
30975 }
30976 return true;
30977 case jsonValueNumber::ID:
30978 if constexpr (AllowTag) {
30979 downcast_call_tag<jsonValueNumber> type_tag;
30980 func(type_tag);
30981 } else {
30982 func(static_cast<jsonValueNumber &>(*obj));
30983 }
30984 return true;
30985 case jsonValueString::ID:
30986 if constexpr (AllowTag) {
30987 downcast_call_tag<jsonValueString> type_tag;
30988 func(type_tag);
30989 } else {
30990 func(static_cast<jsonValueString &>(*obj));
30991 }
30992 return true;
30993 case jsonValueArray::ID:
30994 if constexpr (AllowTag) {
30995 downcast_call_tag<jsonValueArray> type_tag;
30996 func(type_tag);
30997 } else {
30998 func(static_cast<jsonValueArray &>(*obj));
30999 }
31000 return true;
31001 case jsonValueObject::ID:
31002 if constexpr (AllowTag) {
31003 downcast_call_tag<jsonValueObject> type_tag;
31004 func(type_tag);
31005 } else {
31006 func(static_cast<jsonValueObject &>(*obj));
31007 }
31008 return true;
31009 default:
31010 return false;
31011 }
31012}

◆ downcast_call_impl() [93/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
KeyboardButtonSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31034 of file td_api.hpp.

31034 { //-V2008
31035 switch (constructor) {
31036 case keyboardButtonSourceMessage::ID:
31037 if constexpr (AllowTag) {
31038 downcast_call_tag<keyboardButtonSourceMessage> type_tag;
31039 func(type_tag);
31040 } else {
31041 func(static_cast<keyboardButtonSourceMessage &>(*obj));
31042 }
31043 return true;
31044 case keyboardButtonSourceWebApp::ID:
31045 if constexpr (AllowTag) {
31046 downcast_call_tag<keyboardButtonSourceWebApp> type_tag;
31047 func(type_tag);
31048 } else {
31049 func(static_cast<keyboardButtonSourceWebApp &>(*obj));
31050 }
31051 return true;
31052 default:
31053 return false;
31054 }
31055}

◆ downcast_call_impl() [94/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
KeyboardButtonType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31077 of file td_api.hpp.

31077 { //-V2008
31078 switch (constructor) {
31079 case keyboardButtonTypeText::ID:
31080 if constexpr (AllowTag) {
31081 downcast_call_tag<keyboardButtonTypeText> type_tag;
31082 func(type_tag);
31083 } else {
31084 func(static_cast<keyboardButtonTypeText &>(*obj));
31085 }
31086 return true;
31087 case keyboardButtonTypeRequestPhoneNumber::ID:
31088 if constexpr (AllowTag) {
31089 downcast_call_tag<keyboardButtonTypeRequestPhoneNumber> type_tag;
31090 func(type_tag);
31091 } else {
31092 func(static_cast<keyboardButtonTypeRequestPhoneNumber &>(*obj));
31093 }
31094 return true;
31095 case keyboardButtonTypeRequestLocation::ID:
31096 if constexpr (AllowTag) {
31097 downcast_call_tag<keyboardButtonTypeRequestLocation> type_tag;
31098 func(type_tag);
31099 } else {
31100 func(static_cast<keyboardButtonTypeRequestLocation &>(*obj));
31101 }
31102 return true;
31103 case keyboardButtonTypeRequestPoll::ID:
31104 if constexpr (AllowTag) {
31105 downcast_call_tag<keyboardButtonTypeRequestPoll> type_tag;
31106 func(type_tag);
31107 } else {
31108 func(static_cast<keyboardButtonTypeRequestPoll &>(*obj));
31109 }
31110 return true;
31111 case keyboardButtonTypeRequestUsers::ID:
31112 if constexpr (AllowTag) {
31113 downcast_call_tag<keyboardButtonTypeRequestUsers> type_tag;
31114 func(type_tag);
31115 } else {
31116 func(static_cast<keyboardButtonTypeRequestUsers &>(*obj));
31117 }
31118 return true;
31119 case keyboardButtonTypeRequestChat::ID:
31120 if constexpr (AllowTag) {
31121 downcast_call_tag<keyboardButtonTypeRequestChat> type_tag;
31122 func(type_tag);
31123 } else {
31124 func(static_cast<keyboardButtonTypeRequestChat &>(*obj));
31125 }
31126 return true;
31127 case keyboardButtonTypeRequestManagedBot::ID:
31128 if constexpr (AllowTag) {
31129 downcast_call_tag<keyboardButtonTypeRequestManagedBot> type_tag;
31130 func(type_tag);
31131 } else {
31132 func(static_cast<keyboardButtonTypeRequestManagedBot &>(*obj));
31133 }
31134 return true;
31135 case keyboardButtonTypeWebApp::ID:
31136 if constexpr (AllowTag) {
31137 downcast_call_tag<keyboardButtonTypeWebApp> type_tag;
31138 func(type_tag);
31139 } else {
31140 func(static_cast<keyboardButtonTypeWebApp &>(*obj));
31141 }
31142 return true;
31143 default:
31144 return false;
31145 }
31146}

◆ downcast_call_impl() [95/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
LanguagePackStringValue obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31168 of file td_api.hpp.

31168 { //-V2008
31169 switch (constructor) {
31170 case languagePackStringValueOrdinary::ID:
31171 if constexpr (AllowTag) {
31172 downcast_call_tag<languagePackStringValueOrdinary> type_tag;
31173 func(type_tag);
31174 } else {
31175 func(static_cast<languagePackStringValueOrdinary &>(*obj));
31176 }
31177 return true;
31178 case languagePackStringValuePluralized::ID:
31179 if constexpr (AllowTag) {
31180 downcast_call_tag<languagePackStringValuePluralized> type_tag;
31181 func(type_tag);
31182 } else {
31183 func(static_cast<languagePackStringValuePluralized &>(*obj));
31184 }
31185 return true;
31186 case languagePackStringValueDeleted::ID:
31187 if constexpr (AllowTag) {
31188 downcast_call_tag<languagePackStringValueDeleted> type_tag;
31189 func(type_tag);
31190 } else {
31191 func(static_cast<languagePackStringValueDeleted &>(*obj));
31192 }
31193 return true;
31194 default:
31195 return false;
31196 }
31197}

◆ downcast_call_impl() [96/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
LinkPreviewAlbumMedia obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31219 of file td_api.hpp.

31219 { //-V2008
31220 switch (constructor) {
31221 case linkPreviewAlbumMediaPhoto::ID:
31222 if constexpr (AllowTag) {
31223 downcast_call_tag<linkPreviewAlbumMediaPhoto> type_tag;
31224 func(type_tag);
31225 } else {
31226 func(static_cast<linkPreviewAlbumMediaPhoto &>(*obj));
31227 }
31228 return true;
31229 case linkPreviewAlbumMediaVideo::ID:
31230 if constexpr (AllowTag) {
31231 downcast_call_tag<linkPreviewAlbumMediaVideo> type_tag;
31232 func(type_tag);
31233 } else {
31234 func(static_cast<linkPreviewAlbumMediaVideo &>(*obj));
31235 }
31236 return true;
31237 default:
31238 return false;
31239 }
31240}

◆ downcast_call_impl() [97/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
LinkPreviewType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31262 of file td_api.hpp.

31262 { //-V2008
31263 switch (constructor) {
31264 case linkPreviewTypeAlbum::ID:
31265 if constexpr (AllowTag) {
31266 downcast_call_tag<linkPreviewTypeAlbum> type_tag;
31267 func(type_tag);
31268 } else {
31269 func(static_cast<linkPreviewTypeAlbum &>(*obj));
31270 }
31271 return true;
31272 case linkPreviewTypeAnimation::ID:
31273 if constexpr (AllowTag) {
31274 downcast_call_tag<linkPreviewTypeAnimation> type_tag;
31275 func(type_tag);
31276 } else {
31277 func(static_cast<linkPreviewTypeAnimation &>(*obj));
31278 }
31279 return true;
31280 case linkPreviewTypeApp::ID:
31281 if constexpr (AllowTag) {
31282 downcast_call_tag<linkPreviewTypeApp> type_tag;
31283 func(type_tag);
31284 } else {
31285 func(static_cast<linkPreviewTypeApp &>(*obj));
31286 }
31287 return true;
31288 case linkPreviewTypeArticle::ID:
31289 if constexpr (AllowTag) {
31290 downcast_call_tag<linkPreviewTypeArticle> type_tag;
31291 func(type_tag);
31292 } else {
31293 func(static_cast<linkPreviewTypeArticle &>(*obj));
31294 }
31295 return true;
31296 case linkPreviewTypeAudio::ID:
31297 if constexpr (AllowTag) {
31298 downcast_call_tag<linkPreviewTypeAudio> type_tag;
31299 func(type_tag);
31300 } else {
31301 func(static_cast<linkPreviewTypeAudio &>(*obj));
31302 }
31303 return true;
31304 case linkPreviewTypeBackground::ID:
31305 if constexpr (AllowTag) {
31306 downcast_call_tag<linkPreviewTypeBackground> type_tag;
31307 func(type_tag);
31308 } else {
31309 func(static_cast<linkPreviewTypeBackground &>(*obj));
31310 }
31311 return true;
31312 case linkPreviewTypeChannelBoost::ID:
31313 if constexpr (AllowTag) {
31314 downcast_call_tag<linkPreviewTypeChannelBoost> type_tag;
31315 func(type_tag);
31316 } else {
31317 func(static_cast<linkPreviewTypeChannelBoost &>(*obj));
31318 }
31319 return true;
31320 case linkPreviewTypeChat::ID:
31321 if constexpr (AllowTag) {
31322 downcast_call_tag<linkPreviewTypeChat> type_tag;
31323 func(type_tag);
31324 } else {
31325 func(static_cast<linkPreviewTypeChat &>(*obj));
31326 }
31327 return true;
31328 case linkPreviewTypeDirectMessagesChat::ID:
31329 if constexpr (AllowTag) {
31330 downcast_call_tag<linkPreviewTypeDirectMessagesChat> type_tag;
31331 func(type_tag);
31332 } else {
31333 func(static_cast<linkPreviewTypeDirectMessagesChat &>(*obj));
31334 }
31335 return true;
31336 case linkPreviewTypeDocument::ID:
31337 if constexpr (AllowTag) {
31338 downcast_call_tag<linkPreviewTypeDocument> type_tag;
31339 func(type_tag);
31340 } else {
31341 func(static_cast<linkPreviewTypeDocument &>(*obj));
31342 }
31343 return true;
31344 case linkPreviewTypeEmbeddedAnimationPlayer::ID:
31345 if constexpr (AllowTag) {
31346 downcast_call_tag<linkPreviewTypeEmbeddedAnimationPlayer> type_tag;
31347 func(type_tag);
31348 } else {
31349 func(static_cast<linkPreviewTypeEmbeddedAnimationPlayer &>(*obj));
31350 }
31351 return true;
31352 case linkPreviewTypeEmbeddedAudioPlayer::ID:
31353 if constexpr (AllowTag) {
31354 downcast_call_tag<linkPreviewTypeEmbeddedAudioPlayer> type_tag;
31355 func(type_tag);
31356 } else {
31357 func(static_cast<linkPreviewTypeEmbeddedAudioPlayer &>(*obj));
31358 }
31359 return true;
31360 case linkPreviewTypeEmbeddedVideoPlayer::ID:
31361 if constexpr (AllowTag) {
31362 downcast_call_tag<linkPreviewTypeEmbeddedVideoPlayer> type_tag;
31363 func(type_tag);
31364 } else {
31365 func(static_cast<linkPreviewTypeEmbeddedVideoPlayer &>(*obj));
31366 }
31367 return true;
31368 case linkPreviewTypeExternalAudio::ID:
31369 if constexpr (AllowTag) {
31370 downcast_call_tag<linkPreviewTypeExternalAudio> type_tag;
31371 func(type_tag);
31372 } else {
31373 func(static_cast<linkPreviewTypeExternalAudio &>(*obj));
31374 }
31375 return true;
31376 case linkPreviewTypeExternalVideo::ID:
31377 if constexpr (AllowTag) {
31378 downcast_call_tag<linkPreviewTypeExternalVideo> type_tag;
31379 func(type_tag);
31380 } else {
31381 func(static_cast<linkPreviewTypeExternalVideo &>(*obj));
31382 }
31383 return true;
31384 case linkPreviewTypeGiftAuction::ID:
31385 if constexpr (AllowTag) {
31386 downcast_call_tag<linkPreviewTypeGiftAuction> type_tag;
31387 func(type_tag);
31388 } else {
31389 func(static_cast<linkPreviewTypeGiftAuction &>(*obj));
31390 }
31391 return true;
31392 case linkPreviewTypeGiftCollection::ID:
31393 if constexpr (AllowTag) {
31394 downcast_call_tag<linkPreviewTypeGiftCollection> type_tag;
31395 func(type_tag);
31396 } else {
31397 func(static_cast<linkPreviewTypeGiftCollection &>(*obj));
31398 }
31399 return true;
31400 case linkPreviewTypeGroupCall::ID:
31401 if constexpr (AllowTag) {
31402 downcast_call_tag<linkPreviewTypeGroupCall> type_tag;
31403 func(type_tag);
31404 } else {
31405 func(static_cast<linkPreviewTypeGroupCall &>(*obj));
31406 }
31407 return true;
31408 case linkPreviewTypeInvoice::ID:
31409 if constexpr (AllowTag) {
31410 downcast_call_tag<linkPreviewTypeInvoice> type_tag;
31411 func(type_tag);
31412 } else {
31413 func(static_cast<linkPreviewTypeInvoice &>(*obj));
31414 }
31415 return true;
31416 case linkPreviewTypeLiveStory::ID:
31417 if constexpr (AllowTag) {
31418 downcast_call_tag<linkPreviewTypeLiveStory> type_tag;
31419 func(type_tag);
31420 } else {
31421 func(static_cast<linkPreviewTypeLiveStory &>(*obj));
31422 }
31423 return true;
31424 case linkPreviewTypeMessage::ID:
31425 if constexpr (AllowTag) {
31426 downcast_call_tag<linkPreviewTypeMessage> type_tag;
31427 func(type_tag);
31428 } else {
31429 func(static_cast<linkPreviewTypeMessage &>(*obj));
31430 }
31431 return true;
31432 case linkPreviewTypePhoto::ID:
31433 if constexpr (AllowTag) {
31434 downcast_call_tag<linkPreviewTypePhoto> type_tag;
31435 func(type_tag);
31436 } else {
31437 func(static_cast<linkPreviewTypePhoto &>(*obj));
31438 }
31439 return true;
31440 case linkPreviewTypePremiumGiftCode::ID:
31441 if constexpr (AllowTag) {
31442 downcast_call_tag<linkPreviewTypePremiumGiftCode> type_tag;
31443 func(type_tag);
31444 } else {
31445 func(static_cast<linkPreviewTypePremiumGiftCode &>(*obj));
31446 }
31447 return true;
31448 case linkPreviewTypeRequestManagedBot::ID:
31449 if constexpr (AllowTag) {
31450 downcast_call_tag<linkPreviewTypeRequestManagedBot> type_tag;
31451 func(type_tag);
31452 } else {
31453 func(static_cast<linkPreviewTypeRequestManagedBot &>(*obj));
31454 }
31455 return true;
31456 case linkPreviewTypeShareableChatFolder::ID:
31457 if constexpr (AllowTag) {
31458 downcast_call_tag<linkPreviewTypeShareableChatFolder> type_tag;
31459 func(type_tag);
31460 } else {
31461 func(static_cast<linkPreviewTypeShareableChatFolder &>(*obj));
31462 }
31463 return true;
31464 case linkPreviewTypeSticker::ID:
31465 if constexpr (AllowTag) {
31466 downcast_call_tag<linkPreviewTypeSticker> type_tag;
31467 func(type_tag);
31468 } else {
31469 func(static_cast<linkPreviewTypeSticker &>(*obj));
31470 }
31471 return true;
31472 case linkPreviewTypeStickerSet::ID:
31473 if constexpr (AllowTag) {
31474 downcast_call_tag<linkPreviewTypeStickerSet> type_tag;
31475 func(type_tag);
31476 } else {
31477 func(static_cast<linkPreviewTypeStickerSet &>(*obj));
31478 }
31479 return true;
31480 case linkPreviewTypeStory::ID:
31481 if constexpr (AllowTag) {
31482 downcast_call_tag<linkPreviewTypeStory> type_tag;
31483 func(type_tag);
31484 } else {
31485 func(static_cast<linkPreviewTypeStory &>(*obj));
31486 }
31487 return true;
31488 case linkPreviewTypeStoryAlbum::ID:
31489 if constexpr (AllowTag) {
31490 downcast_call_tag<linkPreviewTypeStoryAlbum> type_tag;
31491 func(type_tag);
31492 } else {
31493 func(static_cast<linkPreviewTypeStoryAlbum &>(*obj));
31494 }
31495 return true;
31496 case linkPreviewTypeSupergroupBoost::ID:
31497 if constexpr (AllowTag) {
31498 downcast_call_tag<linkPreviewTypeSupergroupBoost> type_tag;
31499 func(type_tag);
31500 } else {
31501 func(static_cast<linkPreviewTypeSupergroupBoost &>(*obj));
31502 }
31503 return true;
31504 case linkPreviewTypeTheme::ID:
31505 if constexpr (AllowTag) {
31506 downcast_call_tag<linkPreviewTypeTheme> type_tag;
31507 func(type_tag);
31508 } else {
31509 func(static_cast<linkPreviewTypeTheme &>(*obj));
31510 }
31511 return true;
31512 case linkPreviewTypeUnsupported::ID:
31513 if constexpr (AllowTag) {
31514 downcast_call_tag<linkPreviewTypeUnsupported> type_tag;
31515 func(type_tag);
31516 } else {
31517 func(static_cast<linkPreviewTypeUnsupported &>(*obj));
31518 }
31519 return true;
31520 case linkPreviewTypeUpgradedGift::ID:
31521 if constexpr (AllowTag) {
31522 downcast_call_tag<linkPreviewTypeUpgradedGift> type_tag;
31523 func(type_tag);
31524 } else {
31525 func(static_cast<linkPreviewTypeUpgradedGift &>(*obj));
31526 }
31527 return true;
31528 case linkPreviewTypeUser::ID:
31529 if constexpr (AllowTag) {
31530 downcast_call_tag<linkPreviewTypeUser> type_tag;
31531 func(type_tag);
31532 } else {
31533 func(static_cast<linkPreviewTypeUser &>(*obj));
31534 }
31535 return true;
31536 case linkPreviewTypeVideo::ID:
31537 if constexpr (AllowTag) {
31538 downcast_call_tag<linkPreviewTypeVideo> type_tag;
31539 func(type_tag);
31540 } else {
31541 func(static_cast<linkPreviewTypeVideo &>(*obj));
31542 }
31543 return true;
31544 case linkPreviewTypeVideoChat::ID:
31545 if constexpr (AllowTag) {
31546 downcast_call_tag<linkPreviewTypeVideoChat> type_tag;
31547 func(type_tag);
31548 } else {
31549 func(static_cast<linkPreviewTypeVideoChat &>(*obj));
31550 }
31551 return true;
31552 case linkPreviewTypeVideoNote::ID:
31553 if constexpr (AllowTag) {
31554 downcast_call_tag<linkPreviewTypeVideoNote> type_tag;
31555 func(type_tag);
31556 } else {
31557 func(static_cast<linkPreviewTypeVideoNote &>(*obj));
31558 }
31559 return true;
31560 case linkPreviewTypeVoiceNote::ID:
31561 if constexpr (AllowTag) {
31562 downcast_call_tag<linkPreviewTypeVoiceNote> type_tag;
31563 func(type_tag);
31564 } else {
31565 func(static_cast<linkPreviewTypeVoiceNote &>(*obj));
31566 }
31567 return true;
31568 case linkPreviewTypeWebApp::ID:
31569 if constexpr (AllowTag) {
31570 downcast_call_tag<linkPreviewTypeWebApp> type_tag;
31571 func(type_tag);
31572 } else {
31573 func(static_cast<linkPreviewTypeWebApp &>(*obj));
31574 }
31575 return true;
31576 default:
31577 return false;
31578 }
31579}

◆ downcast_call_impl() [98/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
LoginUrlInfo obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31652 of file td_api.hpp.

31652 { //-V2008
31653 switch (constructor) {
31654 case loginUrlInfoOpen::ID:
31655 if constexpr (AllowTag) {
31656 downcast_call_tag<loginUrlInfoOpen> type_tag;
31657 func(type_tag);
31658 } else {
31659 func(static_cast<loginUrlInfoOpen &>(*obj));
31660 }
31661 return true;
31662 case loginUrlInfoRequestConfirmation::ID:
31663 if constexpr (AllowTag) {
31664 downcast_call_tag<loginUrlInfoRequestConfirmation> type_tag;
31665 func(type_tag);
31666 } else {
31667 func(static_cast<loginUrlInfoRequestConfirmation &>(*obj));
31668 }
31669 return true;
31670 default:
31671 return false;
31672 }
31673}

◆ downcast_call_impl() [99/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
LogStream obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31601 of file td_api.hpp.

31601 { //-V2008
31602 switch (constructor) {
31603 case logStreamDefault::ID:
31604 if constexpr (AllowTag) {
31605 downcast_call_tag<logStreamDefault> type_tag;
31606 func(type_tag);
31607 } else {
31608 func(static_cast<logStreamDefault &>(*obj));
31609 }
31610 return true;
31611 case logStreamFile::ID:
31612 if constexpr (AllowTag) {
31613 downcast_call_tag<logStreamFile> type_tag;
31614 func(type_tag);
31615 } else {
31616 func(static_cast<logStreamFile &>(*obj));
31617 }
31618 return true;
31619 case logStreamEmpty::ID:
31620 if constexpr (AllowTag) {
31621 downcast_call_tag<logStreamEmpty> type_tag;
31622 func(type_tag);
31623 } else {
31624 func(static_cast<logStreamEmpty &>(*obj));
31625 }
31626 return true;
31627 default:
31628 return false;
31629 }
31630}

◆ downcast_call_impl() [100/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MaskPoint obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31695 of file td_api.hpp.

31695 { //-V2008
31696 switch (constructor) {
31697 case maskPointForehead::ID:
31698 if constexpr (AllowTag) {
31699 downcast_call_tag<maskPointForehead> type_tag;
31700 func(type_tag);
31701 } else {
31702 func(static_cast<maskPointForehead &>(*obj));
31703 }
31704 return true;
31705 case maskPointEyes::ID:
31706 if constexpr (AllowTag) {
31707 downcast_call_tag<maskPointEyes> type_tag;
31708 func(type_tag);
31709 } else {
31710 func(static_cast<maskPointEyes &>(*obj));
31711 }
31712 return true;
31713 case maskPointMouth::ID:
31714 if constexpr (AllowTag) {
31715 downcast_call_tag<maskPointMouth> type_tag;
31716 func(type_tag);
31717 } else {
31718 func(static_cast<maskPointMouth &>(*obj));
31719 }
31720 return true;
31721 case maskPointChin::ID:
31722 if constexpr (AllowTag) {
31723 downcast_call_tag<maskPointChin> type_tag;
31724 func(type_tag);
31725 } else {
31726 func(static_cast<maskPointChin &>(*obj));
31727 }
31728 return true;
31729 default:
31730 return false;
31731 }
31732}

◆ downcast_call_impl() [101/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageContent obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 31754 of file td_api.hpp.

31754 { //-V2008
31755 switch (constructor) {
31756 case messageText::ID:
31757 if constexpr (AllowTag) {
31758 downcast_call_tag<messageText> type_tag;
31759 func(type_tag);
31760 } else {
31761 func(static_cast<messageText &>(*obj));
31762 }
31763 return true;
31764 case messageAnimation::ID:
31765 if constexpr (AllowTag) {
31766 downcast_call_tag<messageAnimation> type_tag;
31767 func(type_tag);
31768 } else {
31769 func(static_cast<messageAnimation &>(*obj));
31770 }
31771 return true;
31772 case messageAudio::ID:
31773 if constexpr (AllowTag) {
31774 downcast_call_tag<messageAudio> type_tag;
31775 func(type_tag);
31776 } else {
31777 func(static_cast<messageAudio &>(*obj));
31778 }
31779 return true;
31780 case messageDocument::ID:
31781 if constexpr (AllowTag) {
31782 downcast_call_tag<messageDocument> type_tag;
31783 func(type_tag);
31784 } else {
31785 func(static_cast<messageDocument &>(*obj));
31786 }
31787 return true;
31788 case messagePaidMedia::ID:
31789 if constexpr (AllowTag) {
31790 downcast_call_tag<messagePaidMedia> type_tag;
31791 func(type_tag);
31792 } else {
31793 func(static_cast<messagePaidMedia &>(*obj));
31794 }
31795 return true;
31796 case messagePhoto::ID:
31797 if constexpr (AllowTag) {
31798 downcast_call_tag<messagePhoto> type_tag;
31799 func(type_tag);
31800 } else {
31801 func(static_cast<messagePhoto &>(*obj));
31802 }
31803 return true;
31804 case messageSticker::ID:
31805 if constexpr (AllowTag) {
31806 downcast_call_tag<messageSticker> type_tag;
31807 func(type_tag);
31808 } else {
31809 func(static_cast<messageSticker &>(*obj));
31810 }
31811 return true;
31812 case messageVideo::ID:
31813 if constexpr (AllowTag) {
31814 downcast_call_tag<messageVideo> type_tag;
31815 func(type_tag);
31816 } else {
31817 func(static_cast<messageVideo &>(*obj));
31818 }
31819 return true;
31820 case messageVideoNote::ID:
31821 if constexpr (AllowTag) {
31822 downcast_call_tag<messageVideoNote> type_tag;
31823 func(type_tag);
31824 } else {
31825 func(static_cast<messageVideoNote &>(*obj));
31826 }
31827 return true;
31828 case messageVoiceNote::ID:
31829 if constexpr (AllowTag) {
31830 downcast_call_tag<messageVoiceNote> type_tag;
31831 func(type_tag);
31832 } else {
31833 func(static_cast<messageVoiceNote &>(*obj));
31834 }
31835 return true;
31836 case messageExpiredPhoto::ID:
31837 if constexpr (AllowTag) {
31838 downcast_call_tag<messageExpiredPhoto> type_tag;
31839 func(type_tag);
31840 } else {
31841 func(static_cast<messageExpiredPhoto &>(*obj));
31842 }
31843 return true;
31844 case messageExpiredVideo::ID:
31845 if constexpr (AllowTag) {
31846 downcast_call_tag<messageExpiredVideo> type_tag;
31847 func(type_tag);
31848 } else {
31849 func(static_cast<messageExpiredVideo &>(*obj));
31850 }
31851 return true;
31852 case messageExpiredVideoNote::ID:
31853 if constexpr (AllowTag) {
31854 downcast_call_tag<messageExpiredVideoNote> type_tag;
31855 func(type_tag);
31856 } else {
31857 func(static_cast<messageExpiredVideoNote &>(*obj));
31858 }
31859 return true;
31860 case messageExpiredVoiceNote::ID:
31861 if constexpr (AllowTag) {
31862 downcast_call_tag<messageExpiredVoiceNote> type_tag;
31863 func(type_tag);
31864 } else {
31865 func(static_cast<messageExpiredVoiceNote &>(*obj));
31866 }
31867 return true;
31868 case messageLocation::ID:
31869 if constexpr (AllowTag) {
31870 downcast_call_tag<messageLocation> type_tag;
31871 func(type_tag);
31872 } else {
31873 func(static_cast<messageLocation &>(*obj));
31874 }
31875 return true;
31876 case messageVenue::ID:
31877 if constexpr (AllowTag) {
31878 downcast_call_tag<messageVenue> type_tag;
31879 func(type_tag);
31880 } else {
31881 func(static_cast<messageVenue &>(*obj));
31882 }
31883 return true;
31884 case messageContact::ID:
31885 if constexpr (AllowTag) {
31886 downcast_call_tag<messageContact> type_tag;
31887 func(type_tag);
31888 } else {
31889 func(static_cast<messageContact &>(*obj));
31890 }
31891 return true;
31892 case messageAnimatedEmoji::ID:
31893 if constexpr (AllowTag) {
31894 downcast_call_tag<messageAnimatedEmoji> type_tag;
31895 func(type_tag);
31896 } else {
31897 func(static_cast<messageAnimatedEmoji &>(*obj));
31898 }
31899 return true;
31900 case messageDice::ID:
31901 if constexpr (AllowTag) {
31902 downcast_call_tag<messageDice> type_tag;
31903 func(type_tag);
31904 } else {
31905 func(static_cast<messageDice &>(*obj));
31906 }
31907 return true;
31908 case messageGame::ID:
31909 if constexpr (AllowTag) {
31910 downcast_call_tag<messageGame> type_tag;
31911 func(type_tag);
31912 } else {
31913 func(static_cast<messageGame &>(*obj));
31914 }
31915 return true;
31916 case messagePoll::ID:
31917 if constexpr (AllowTag) {
31918 downcast_call_tag<messagePoll> type_tag;
31919 func(type_tag);
31920 } else {
31921 func(static_cast<messagePoll &>(*obj));
31922 }
31923 return true;
31924 case messageStakeDice::ID:
31925 if constexpr (AllowTag) {
31926 downcast_call_tag<messageStakeDice> type_tag;
31927 func(type_tag);
31928 } else {
31929 func(static_cast<messageStakeDice &>(*obj));
31930 }
31931 return true;
31932 case messageStory::ID:
31933 if constexpr (AllowTag) {
31934 downcast_call_tag<messageStory> type_tag;
31935 func(type_tag);
31936 } else {
31937 func(static_cast<messageStory &>(*obj));
31938 }
31939 return true;
31940 case messageChecklist::ID:
31941 if constexpr (AllowTag) {
31942 downcast_call_tag<messageChecklist> type_tag;
31943 func(type_tag);
31944 } else {
31945 func(static_cast<messageChecklist &>(*obj));
31946 }
31947 return true;
31948 case messageInvoice::ID:
31949 if constexpr (AllowTag) {
31950 downcast_call_tag<messageInvoice> type_tag;
31951 func(type_tag);
31952 } else {
31953 func(static_cast<messageInvoice &>(*obj));
31954 }
31955 return true;
31956 case messageCall::ID:
31957 if constexpr (AllowTag) {
31958 downcast_call_tag<messageCall> type_tag;
31959 func(type_tag);
31960 } else {
31961 func(static_cast<messageCall &>(*obj));
31962 }
31963 return true;
31964 case messageGroupCall::ID:
31965 if constexpr (AllowTag) {
31966 downcast_call_tag<messageGroupCall> type_tag;
31967 func(type_tag);
31968 } else {
31969 func(static_cast<messageGroupCall &>(*obj));
31970 }
31971 return true;
31972 case messageVideoChatScheduled::ID:
31973 if constexpr (AllowTag) {
31974 downcast_call_tag<messageVideoChatScheduled> type_tag;
31975 func(type_tag);
31976 } else {
31977 func(static_cast<messageVideoChatScheduled &>(*obj));
31978 }
31979 return true;
31980 case messageVideoChatStarted::ID:
31981 if constexpr (AllowTag) {
31982 downcast_call_tag<messageVideoChatStarted> type_tag;
31983 func(type_tag);
31984 } else {
31985 func(static_cast<messageVideoChatStarted &>(*obj));
31986 }
31987 return true;
31988 case messageVideoChatEnded::ID:
31989 if constexpr (AllowTag) {
31990 downcast_call_tag<messageVideoChatEnded> type_tag;
31991 func(type_tag);
31992 } else {
31993 func(static_cast<messageVideoChatEnded &>(*obj));
31994 }
31995 return true;
31996 case messageInviteVideoChatParticipants::ID:
31997 if constexpr (AllowTag) {
31998 downcast_call_tag<messageInviteVideoChatParticipants> type_tag;
31999 func(type_tag);
32000 } else {
32001 func(static_cast<messageInviteVideoChatParticipants &>(*obj));
32002 }
32003 return true;
32004 case messagePollOptionAdded::ID:
32005 if constexpr (AllowTag) {
32006 downcast_call_tag<messagePollOptionAdded> type_tag;
32007 func(type_tag);
32008 } else {
32009 func(static_cast<messagePollOptionAdded &>(*obj));
32010 }
32011 return true;
32012 case messagePollOptionDeleted::ID:
32013 if constexpr (AllowTag) {
32014 downcast_call_tag<messagePollOptionDeleted> type_tag;
32015 func(type_tag);
32016 } else {
32017 func(static_cast<messagePollOptionDeleted &>(*obj));
32018 }
32019 return true;
32020 case messageBasicGroupChatCreate::ID:
32021 if constexpr (AllowTag) {
32022 downcast_call_tag<messageBasicGroupChatCreate> type_tag;
32023 func(type_tag);
32024 } else {
32025 func(static_cast<messageBasicGroupChatCreate &>(*obj));
32026 }
32027 return true;
32028 case messageSupergroupChatCreate::ID:
32029 if constexpr (AllowTag) {
32030 downcast_call_tag<messageSupergroupChatCreate> type_tag;
32031 func(type_tag);
32032 } else {
32033 func(static_cast<messageSupergroupChatCreate &>(*obj));
32034 }
32035 return true;
32036 case messageChatChangeTitle::ID:
32037 if constexpr (AllowTag) {
32038 downcast_call_tag<messageChatChangeTitle> type_tag;
32039 func(type_tag);
32040 } else {
32041 func(static_cast<messageChatChangeTitle &>(*obj));
32042 }
32043 return true;
32044 case messageChatChangePhoto::ID:
32045 if constexpr (AllowTag) {
32046 downcast_call_tag<messageChatChangePhoto> type_tag;
32047 func(type_tag);
32048 } else {
32049 func(static_cast<messageChatChangePhoto &>(*obj));
32050 }
32051 return true;
32052 case messageChatDeletePhoto::ID:
32053 if constexpr (AllowTag) {
32054 downcast_call_tag<messageChatDeletePhoto> type_tag;
32055 func(type_tag);
32056 } else {
32057 func(static_cast<messageChatDeletePhoto &>(*obj));
32058 }
32059 return true;
32060 case messageChatOwnerLeft::ID:
32061 if constexpr (AllowTag) {
32062 downcast_call_tag<messageChatOwnerLeft> type_tag;
32063 func(type_tag);
32064 } else {
32065 func(static_cast<messageChatOwnerLeft &>(*obj));
32066 }
32067 return true;
32068 case messageChatOwnerChanged::ID:
32069 if constexpr (AllowTag) {
32070 downcast_call_tag<messageChatOwnerChanged> type_tag;
32071 func(type_tag);
32072 } else {
32073 func(static_cast<messageChatOwnerChanged &>(*obj));
32074 }
32075 return true;
32076 case messageChatHasProtectedContentToggled::ID:
32077 if constexpr (AllowTag) {
32078 downcast_call_tag<messageChatHasProtectedContentToggled> type_tag;
32079 func(type_tag);
32080 } else {
32081 func(static_cast<messageChatHasProtectedContentToggled &>(*obj));
32082 }
32083 return true;
32084 case messageChatHasProtectedContentDisableRequested::ID:
32085 if constexpr (AllowTag) {
32086 downcast_call_tag<messageChatHasProtectedContentDisableRequested> type_tag;
32087 func(type_tag);
32088 } else {
32089 func(static_cast<messageChatHasProtectedContentDisableRequested &>(*obj));
32090 }
32091 return true;
32092 case messageChatAddMembers::ID:
32093 if constexpr (AllowTag) {
32094 downcast_call_tag<messageChatAddMembers> type_tag;
32095 func(type_tag);
32096 } else {
32097 func(static_cast<messageChatAddMembers &>(*obj));
32098 }
32099 return true;
32100 case messageChatJoinByLink::ID:
32101 if constexpr (AllowTag) {
32102 downcast_call_tag<messageChatJoinByLink> type_tag;
32103 func(type_tag);
32104 } else {
32105 func(static_cast<messageChatJoinByLink &>(*obj));
32106 }
32107 return true;
32108 case messageChatJoinByRequest::ID:
32109 if constexpr (AllowTag) {
32110 downcast_call_tag<messageChatJoinByRequest> type_tag;
32111 func(type_tag);
32112 } else {
32113 func(static_cast<messageChatJoinByRequest &>(*obj));
32114 }
32115 return true;
32116 case messageChatDeleteMember::ID:
32117 if constexpr (AllowTag) {
32118 downcast_call_tag<messageChatDeleteMember> type_tag;
32119 func(type_tag);
32120 } else {
32121 func(static_cast<messageChatDeleteMember &>(*obj));
32122 }
32123 return true;
32124 case messageChatUpgradeTo::ID:
32125 if constexpr (AllowTag) {
32126 downcast_call_tag<messageChatUpgradeTo> type_tag;
32127 func(type_tag);
32128 } else {
32129 func(static_cast<messageChatUpgradeTo &>(*obj));
32130 }
32131 return true;
32132 case messageChatUpgradeFrom::ID:
32133 if constexpr (AllowTag) {
32134 downcast_call_tag<messageChatUpgradeFrom> type_tag;
32135 func(type_tag);
32136 } else {
32137 func(static_cast<messageChatUpgradeFrom &>(*obj));
32138 }
32139 return true;
32140 case messagePinMessage::ID:
32141 if constexpr (AllowTag) {
32142 downcast_call_tag<messagePinMessage> type_tag;
32143 func(type_tag);
32144 } else {
32145 func(static_cast<messagePinMessage &>(*obj));
32146 }
32147 return true;
32148 case messageScreenshotTaken::ID:
32149 if constexpr (AllowTag) {
32150 downcast_call_tag<messageScreenshotTaken> type_tag;
32151 func(type_tag);
32152 } else {
32153 func(static_cast<messageScreenshotTaken &>(*obj));
32154 }
32155 return true;
32156 case messageChatSetBackground::ID:
32157 if constexpr (AllowTag) {
32158 downcast_call_tag<messageChatSetBackground> type_tag;
32159 func(type_tag);
32160 } else {
32161 func(static_cast<messageChatSetBackground &>(*obj));
32162 }
32163 return true;
32164 case messageChatSetTheme::ID:
32165 if constexpr (AllowTag) {
32166 downcast_call_tag<messageChatSetTheme> type_tag;
32167 func(type_tag);
32168 } else {
32169 func(static_cast<messageChatSetTheme &>(*obj));
32170 }
32171 return true;
32172 case messageChatSetMessageAutoDeleteTime::ID:
32173 if constexpr (AllowTag) {
32174 downcast_call_tag<messageChatSetMessageAutoDeleteTime> type_tag;
32175 func(type_tag);
32176 } else {
32177 func(static_cast<messageChatSetMessageAutoDeleteTime &>(*obj));
32178 }
32179 return true;
32180 case messageChatBoost::ID:
32181 if constexpr (AllowTag) {
32182 downcast_call_tag<messageChatBoost> type_tag;
32183 func(type_tag);
32184 } else {
32185 func(static_cast<messageChatBoost &>(*obj));
32186 }
32187 return true;
32188 case messageForumTopicCreated::ID:
32189 if constexpr (AllowTag) {
32190 downcast_call_tag<messageForumTopicCreated> type_tag;
32191 func(type_tag);
32192 } else {
32193 func(static_cast<messageForumTopicCreated &>(*obj));
32194 }
32195 return true;
32196 case messageForumTopicEdited::ID:
32197 if constexpr (AllowTag) {
32198 downcast_call_tag<messageForumTopicEdited> type_tag;
32199 func(type_tag);
32200 } else {
32201 func(static_cast<messageForumTopicEdited &>(*obj));
32202 }
32203 return true;
32204 case messageForumTopicIsClosedToggled::ID:
32205 if constexpr (AllowTag) {
32206 downcast_call_tag<messageForumTopicIsClosedToggled> type_tag;
32207 func(type_tag);
32208 } else {
32209 func(static_cast<messageForumTopicIsClosedToggled &>(*obj));
32210 }
32211 return true;
32212 case messageForumTopicIsHiddenToggled::ID:
32213 if constexpr (AllowTag) {
32214 downcast_call_tag<messageForumTopicIsHiddenToggled> type_tag;
32215 func(type_tag);
32216 } else {
32217 func(static_cast<messageForumTopicIsHiddenToggled &>(*obj));
32218 }
32219 return true;
32220 case messageSuggestProfilePhoto::ID:
32221 if constexpr (AllowTag) {
32222 downcast_call_tag<messageSuggestProfilePhoto> type_tag;
32223 func(type_tag);
32224 } else {
32225 func(static_cast<messageSuggestProfilePhoto &>(*obj));
32226 }
32227 return true;
32228 case messageSuggestBirthdate::ID:
32229 if constexpr (AllowTag) {
32230 downcast_call_tag<messageSuggestBirthdate> type_tag;
32231 func(type_tag);
32232 } else {
32233 func(static_cast<messageSuggestBirthdate &>(*obj));
32234 }
32235 return true;
32236 case messageCustomServiceAction::ID:
32237 if constexpr (AllowTag) {
32238 downcast_call_tag<messageCustomServiceAction> type_tag;
32239 func(type_tag);
32240 } else {
32241 func(static_cast<messageCustomServiceAction &>(*obj));
32242 }
32243 return true;
32244 case messageGameScore::ID:
32245 if constexpr (AllowTag) {
32246 downcast_call_tag<messageGameScore> type_tag;
32247 func(type_tag);
32248 } else {
32249 func(static_cast<messageGameScore &>(*obj));
32250 }
32251 return true;
32252 case messageManagedBotCreated::ID:
32253 if constexpr (AllowTag) {
32254 downcast_call_tag<messageManagedBotCreated> type_tag;
32255 func(type_tag);
32256 } else {
32257 func(static_cast<messageManagedBotCreated &>(*obj));
32258 }
32259 return true;
32260 case messagePaymentSuccessful::ID:
32261 if constexpr (AllowTag) {
32262 downcast_call_tag<messagePaymentSuccessful> type_tag;
32263 func(type_tag);
32264 } else {
32265 func(static_cast<messagePaymentSuccessful &>(*obj));
32266 }
32267 return true;
32268 case messagePaymentSuccessfulBot::ID:
32269 if constexpr (AllowTag) {
32270 downcast_call_tag<messagePaymentSuccessfulBot> type_tag;
32271 func(type_tag);
32272 } else {
32273 func(static_cast<messagePaymentSuccessfulBot &>(*obj));
32274 }
32275 return true;
32276 case messagePaymentRefunded::ID:
32277 if constexpr (AllowTag) {
32278 downcast_call_tag<messagePaymentRefunded> type_tag;
32279 func(type_tag);
32280 } else {
32281 func(static_cast<messagePaymentRefunded &>(*obj));
32282 }
32283 return true;
32284 case messageGiftedPremium::ID:
32285 if constexpr (AllowTag) {
32286 downcast_call_tag<messageGiftedPremium> type_tag;
32287 func(type_tag);
32288 } else {
32289 func(static_cast<messageGiftedPremium &>(*obj));
32290 }
32291 return true;
32292 case messagePremiumGiftCode::ID:
32293 if constexpr (AllowTag) {
32294 downcast_call_tag<messagePremiumGiftCode> type_tag;
32295 func(type_tag);
32296 } else {
32297 func(static_cast<messagePremiumGiftCode &>(*obj));
32298 }
32299 return true;
32300 case messageGiveawayCreated::ID:
32301 if constexpr (AllowTag) {
32302 downcast_call_tag<messageGiveawayCreated> type_tag;
32303 func(type_tag);
32304 } else {
32305 func(static_cast<messageGiveawayCreated &>(*obj));
32306 }
32307 return true;
32308 case messageGiveaway::ID:
32309 if constexpr (AllowTag) {
32310 downcast_call_tag<messageGiveaway> type_tag;
32311 func(type_tag);
32312 } else {
32313 func(static_cast<messageGiveaway &>(*obj));
32314 }
32315 return true;
32316 case messageGiveawayCompleted::ID:
32317 if constexpr (AllowTag) {
32318 downcast_call_tag<messageGiveawayCompleted> type_tag;
32319 func(type_tag);
32320 } else {
32321 func(static_cast<messageGiveawayCompleted &>(*obj));
32322 }
32323 return true;
32324 case messageGiveawayWinners::ID:
32325 if constexpr (AllowTag) {
32326 downcast_call_tag<messageGiveawayWinners> type_tag;
32327 func(type_tag);
32328 } else {
32329 func(static_cast<messageGiveawayWinners &>(*obj));
32330 }
32331 return true;
32332 case messageGiftedStars::ID:
32333 if constexpr (AllowTag) {
32334 downcast_call_tag<messageGiftedStars> type_tag;
32335 func(type_tag);
32336 } else {
32337 func(static_cast<messageGiftedStars &>(*obj));
32338 }
32339 return true;
32340 case messageGiftedTon::ID:
32341 if constexpr (AllowTag) {
32342 downcast_call_tag<messageGiftedTon> type_tag;
32343 func(type_tag);
32344 } else {
32345 func(static_cast<messageGiftedTon &>(*obj));
32346 }
32347 return true;
32348 case messageGiveawayPrizeStars::ID:
32349 if constexpr (AllowTag) {
32350 downcast_call_tag<messageGiveawayPrizeStars> type_tag;
32351 func(type_tag);
32352 } else {
32353 func(static_cast<messageGiveawayPrizeStars &>(*obj));
32354 }
32355 return true;
32356 case messageGift::ID:
32357 if constexpr (AllowTag) {
32358 downcast_call_tag<messageGift> type_tag;
32359 func(type_tag);
32360 } else {
32361 func(static_cast<messageGift &>(*obj));
32362 }
32363 return true;
32364 case messageUpgradedGift::ID:
32365 if constexpr (AllowTag) {
32366 downcast_call_tag<messageUpgradedGift> type_tag;
32367 func(type_tag);
32368 } else {
32369 func(static_cast<messageUpgradedGift &>(*obj));
32370 }
32371 return true;
32372 case messageRefundedUpgradedGift::ID:
32373 if constexpr (AllowTag) {
32374 downcast_call_tag<messageRefundedUpgradedGift> type_tag;
32375 func(type_tag);
32376 } else {
32377 func(static_cast<messageRefundedUpgradedGift &>(*obj));
32378 }
32379 return true;
32380 case messageUpgradedGiftPurchaseOffer::ID:
32381 if constexpr (AllowTag) {
32382 downcast_call_tag<messageUpgradedGiftPurchaseOffer> type_tag;
32383 func(type_tag);
32384 } else {
32385 func(static_cast<messageUpgradedGiftPurchaseOffer &>(*obj));
32386 }
32387 return true;
32388 case messageUpgradedGiftPurchaseOfferRejected::ID:
32389 if constexpr (AllowTag) {
32390 downcast_call_tag<messageUpgradedGiftPurchaseOfferRejected> type_tag;
32391 func(type_tag);
32392 } else {
32393 func(static_cast<messageUpgradedGiftPurchaseOfferRejected &>(*obj));
32394 }
32395 return true;
32396 case messagePaidMessagesRefunded::ID:
32397 if constexpr (AllowTag) {
32398 downcast_call_tag<messagePaidMessagesRefunded> type_tag;
32399 func(type_tag);
32400 } else {
32401 func(static_cast<messagePaidMessagesRefunded &>(*obj));
32402 }
32403 return true;
32404 case messagePaidMessagePriceChanged::ID:
32405 if constexpr (AllowTag) {
32406 downcast_call_tag<messagePaidMessagePriceChanged> type_tag;
32407 func(type_tag);
32408 } else {
32409 func(static_cast<messagePaidMessagePriceChanged &>(*obj));
32410 }
32411 return true;
32412 case messageDirectMessagePriceChanged::ID:
32413 if constexpr (AllowTag) {
32414 downcast_call_tag<messageDirectMessagePriceChanged> type_tag;
32415 func(type_tag);
32416 } else {
32417 func(static_cast<messageDirectMessagePriceChanged &>(*obj));
32418 }
32419 return true;
32420 case messageChecklistTasksDone::ID:
32421 if constexpr (AllowTag) {
32422 downcast_call_tag<messageChecklistTasksDone> type_tag;
32423 func(type_tag);
32424 } else {
32425 func(static_cast<messageChecklistTasksDone &>(*obj));
32426 }
32427 return true;
32428 case messageChecklistTasksAdded::ID:
32429 if constexpr (AllowTag) {
32430 downcast_call_tag<messageChecklistTasksAdded> type_tag;
32431 func(type_tag);
32432 } else {
32433 func(static_cast<messageChecklistTasksAdded &>(*obj));
32434 }
32435 return true;
32436 case messageSuggestedPostApprovalFailed::ID:
32437 if constexpr (AllowTag) {
32438 downcast_call_tag<messageSuggestedPostApprovalFailed> type_tag;
32439 func(type_tag);
32440 } else {
32441 func(static_cast<messageSuggestedPostApprovalFailed &>(*obj));
32442 }
32443 return true;
32444 case messageSuggestedPostApproved::ID:
32445 if constexpr (AllowTag) {
32446 downcast_call_tag<messageSuggestedPostApproved> type_tag;
32447 func(type_tag);
32448 } else {
32449 func(static_cast<messageSuggestedPostApproved &>(*obj));
32450 }
32451 return true;
32452 case messageSuggestedPostDeclined::ID:
32453 if constexpr (AllowTag) {
32454 downcast_call_tag<messageSuggestedPostDeclined> type_tag;
32455 func(type_tag);
32456 } else {
32457 func(static_cast<messageSuggestedPostDeclined &>(*obj));
32458 }
32459 return true;
32460 case messageSuggestedPostPaid::ID:
32461 if constexpr (AllowTag) {
32462 downcast_call_tag<messageSuggestedPostPaid> type_tag;
32463 func(type_tag);
32464 } else {
32465 func(static_cast<messageSuggestedPostPaid &>(*obj));
32466 }
32467 return true;
32468 case messageSuggestedPostRefunded::ID:
32469 if constexpr (AllowTag) {
32470 downcast_call_tag<messageSuggestedPostRefunded> type_tag;
32471 func(type_tag);
32472 } else {
32473 func(static_cast<messageSuggestedPostRefunded &>(*obj));
32474 }
32475 return true;
32476 case messageContactRegistered::ID:
32477 if constexpr (AllowTag) {
32478 downcast_call_tag<messageContactRegistered> type_tag;
32479 func(type_tag);
32480 } else {
32481 func(static_cast<messageContactRegistered &>(*obj));
32482 }
32483 return true;
32484 case messageUsersShared::ID:
32485 if constexpr (AllowTag) {
32486 downcast_call_tag<messageUsersShared> type_tag;
32487 func(type_tag);
32488 } else {
32489 func(static_cast<messageUsersShared &>(*obj));
32490 }
32491 return true;
32492 case messageChatShared::ID:
32493 if constexpr (AllowTag) {
32494 downcast_call_tag<messageChatShared> type_tag;
32495 func(type_tag);
32496 } else {
32497 func(static_cast<messageChatShared &>(*obj));
32498 }
32499 return true;
32500 case messageBotWriteAccessAllowed::ID:
32501 if constexpr (AllowTag) {
32502 downcast_call_tag<messageBotWriteAccessAllowed> type_tag;
32503 func(type_tag);
32504 } else {
32505 func(static_cast<messageBotWriteAccessAllowed &>(*obj));
32506 }
32507 return true;
32508 case messageWebAppDataSent::ID:
32509 if constexpr (AllowTag) {
32510 downcast_call_tag<messageWebAppDataSent> type_tag;
32511 func(type_tag);
32512 } else {
32513 func(static_cast<messageWebAppDataSent &>(*obj));
32514 }
32515 return true;
32516 case messageWebAppDataReceived::ID:
32517 if constexpr (AllowTag) {
32518 downcast_call_tag<messageWebAppDataReceived> type_tag;
32519 func(type_tag);
32520 } else {
32521 func(static_cast<messageWebAppDataReceived &>(*obj));
32522 }
32523 return true;
32524 case messagePassportDataSent::ID:
32525 if constexpr (AllowTag) {
32526 downcast_call_tag<messagePassportDataSent> type_tag;
32527 func(type_tag);
32528 } else {
32529 func(static_cast<messagePassportDataSent &>(*obj));
32530 }
32531 return true;
32532 case messagePassportDataReceived::ID:
32533 if constexpr (AllowTag) {
32534 downcast_call_tag<messagePassportDataReceived> type_tag;
32535 func(type_tag);
32536 } else {
32537 func(static_cast<messagePassportDataReceived &>(*obj));
32538 }
32539 return true;
32540 case messageProximityAlertTriggered::ID:
32541 if constexpr (AllowTag) {
32542 downcast_call_tag<messageProximityAlertTriggered> type_tag;
32543 func(type_tag);
32544 } else {
32545 func(static_cast<messageProximityAlertTriggered &>(*obj));
32546 }
32547 return true;
32548 case messageUnsupported::ID:
32549 if constexpr (AllowTag) {
32550 downcast_call_tag<messageUnsupported> type_tag;
32551 func(type_tag);
32552 } else {
32553 func(static_cast<messageUnsupported &>(*obj));
32554 }
32555 return true;
32556 default:
32557 return false;
32558 }
32559}

◆ downcast_call_impl() [102/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageEffectType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32581 of file td_api.hpp.

32581 { //-V2008
32582 switch (constructor) {
32583 case messageEffectTypeEmojiReaction::ID:
32584 if constexpr (AllowTag) {
32585 downcast_call_tag<messageEffectTypeEmojiReaction> type_tag;
32586 func(type_tag);
32587 } else {
32588 func(static_cast<messageEffectTypeEmojiReaction &>(*obj));
32589 }
32590 return true;
32591 case messageEffectTypePremiumSticker::ID:
32592 if constexpr (AllowTag) {
32593 downcast_call_tag<messageEffectTypePremiumSticker> type_tag;
32594 func(type_tag);
32595 } else {
32596 func(static_cast<messageEffectTypePremiumSticker &>(*obj));
32597 }
32598 return true;
32599 default:
32600 return false;
32601 }
32602}

◆ downcast_call_impl() [103/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageFileType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32624 of file td_api.hpp.

32624 { //-V2008
32625 switch (constructor) {
32626 case messageFileTypePrivate::ID:
32627 if constexpr (AllowTag) {
32628 downcast_call_tag<messageFileTypePrivate> type_tag;
32629 func(type_tag);
32630 } else {
32631 func(static_cast<messageFileTypePrivate &>(*obj));
32632 }
32633 return true;
32634 case messageFileTypeGroup::ID:
32635 if constexpr (AllowTag) {
32636 downcast_call_tag<messageFileTypeGroup> type_tag;
32637 func(type_tag);
32638 } else {
32639 func(static_cast<messageFileTypeGroup &>(*obj));
32640 }
32641 return true;
32642 case messageFileTypeUnknown::ID:
32643 if constexpr (AllowTag) {
32644 downcast_call_tag<messageFileTypeUnknown> type_tag;
32645 func(type_tag);
32646 } else {
32647 func(static_cast<messageFileTypeUnknown &>(*obj));
32648 }
32649 return true;
32650 default:
32651 return false;
32652 }
32653}

◆ downcast_call_impl() [104/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageOrigin obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32675 of file td_api.hpp.

32675 { //-V2008
32676 switch (constructor) {
32677 case messageOriginUser::ID:
32678 if constexpr (AllowTag) {
32679 downcast_call_tag<messageOriginUser> type_tag;
32680 func(type_tag);
32681 } else {
32682 func(static_cast<messageOriginUser &>(*obj));
32683 }
32684 return true;
32685 case messageOriginHiddenUser::ID:
32686 if constexpr (AllowTag) {
32687 downcast_call_tag<messageOriginHiddenUser> type_tag;
32688 func(type_tag);
32689 } else {
32690 func(static_cast<messageOriginHiddenUser &>(*obj));
32691 }
32692 return true;
32693 case messageOriginChat::ID:
32694 if constexpr (AllowTag) {
32695 downcast_call_tag<messageOriginChat> type_tag;
32696 func(type_tag);
32697 } else {
32698 func(static_cast<messageOriginChat &>(*obj));
32699 }
32700 return true;
32701 case messageOriginChannel::ID:
32702 if constexpr (AllowTag) {
32703 downcast_call_tag<messageOriginChannel> type_tag;
32704 func(type_tag);
32705 } else {
32706 func(static_cast<messageOriginChannel &>(*obj));
32707 }
32708 return true;
32709 default:
32710 return false;
32711 }
32712}

◆ downcast_call_impl() [105/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageReadDate obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32734 of file td_api.hpp.

32734 { //-V2008
32735 switch (constructor) {
32736 case messageReadDateRead::ID:
32737 if constexpr (AllowTag) {
32738 downcast_call_tag<messageReadDateRead> type_tag;
32739 func(type_tag);
32740 } else {
32741 func(static_cast<messageReadDateRead &>(*obj));
32742 }
32743 return true;
32744 case messageReadDateUnread::ID:
32745 if constexpr (AllowTag) {
32746 downcast_call_tag<messageReadDateUnread> type_tag;
32747 func(type_tag);
32748 } else {
32749 func(static_cast<messageReadDateUnread &>(*obj));
32750 }
32751 return true;
32752 case messageReadDateTooOld::ID:
32753 if constexpr (AllowTag) {
32754 downcast_call_tag<messageReadDateTooOld> type_tag;
32755 func(type_tag);
32756 } else {
32757 func(static_cast<messageReadDateTooOld &>(*obj));
32758 }
32759 return true;
32760 case messageReadDateUserPrivacyRestricted::ID:
32761 if constexpr (AllowTag) {
32762 downcast_call_tag<messageReadDateUserPrivacyRestricted> type_tag;
32763 func(type_tag);
32764 } else {
32765 func(static_cast<messageReadDateUserPrivacyRestricted &>(*obj));
32766 }
32767 return true;
32768 case messageReadDateMyPrivacyRestricted::ID:
32769 if constexpr (AllowTag) {
32770 downcast_call_tag<messageReadDateMyPrivacyRestricted> type_tag;
32771 func(type_tag);
32772 } else {
32773 func(static_cast<messageReadDateMyPrivacyRestricted &>(*obj));
32774 }
32775 return true;
32776 default:
32777 return false;
32778 }
32779}

◆ downcast_call_impl() [106/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageReplyTo obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32801 of file td_api.hpp.

32801 { //-V2008
32802 switch (constructor) {
32803 case messageReplyToMessage::ID:
32804 if constexpr (AllowTag) {
32805 downcast_call_tag<messageReplyToMessage> type_tag;
32806 func(type_tag);
32807 } else {
32808 func(static_cast<messageReplyToMessage &>(*obj));
32809 }
32810 return true;
32811 case messageReplyToStory::ID:
32812 if constexpr (AllowTag) {
32813 downcast_call_tag<messageReplyToStory> type_tag;
32814 func(type_tag);
32815 } else {
32816 func(static_cast<messageReplyToStory &>(*obj));
32817 }
32818 return true;
32819 default:
32820 return false;
32821 }
32822}

◆ downcast_call_impl() [107/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageSchedulingState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32844 of file td_api.hpp.

32844 { //-V2008
32845 switch (constructor) {
32846 case messageSchedulingStateSendAtDate::ID:
32847 if constexpr (AllowTag) {
32848 downcast_call_tag<messageSchedulingStateSendAtDate> type_tag;
32849 func(type_tag);
32850 } else {
32851 func(static_cast<messageSchedulingStateSendAtDate &>(*obj));
32852 }
32853 return true;
32854 case messageSchedulingStateSendWhenOnline::ID:
32855 if constexpr (AllowTag) {
32856 downcast_call_tag<messageSchedulingStateSendWhenOnline> type_tag;
32857 func(type_tag);
32858 } else {
32859 func(static_cast<messageSchedulingStateSendWhenOnline &>(*obj));
32860 }
32861 return true;
32862 case messageSchedulingStateSendWhenVideoProcessed::ID:
32863 if constexpr (AllowTag) {
32864 downcast_call_tag<messageSchedulingStateSendWhenVideoProcessed> type_tag;
32865 func(type_tag);
32866 } else {
32867 func(static_cast<messageSchedulingStateSendWhenVideoProcessed &>(*obj));
32868 }
32869 return true;
32870 default:
32871 return false;
32872 }
32873}

◆ downcast_call_impl() [108/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageSelfDestructType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32895 of file td_api.hpp.

32895 { //-V2008
32896 switch (constructor) {
32897 case messageSelfDestructTypeTimer::ID:
32898 if constexpr (AllowTag) {
32899 downcast_call_tag<messageSelfDestructTypeTimer> type_tag;
32900 func(type_tag);
32901 } else {
32902 func(static_cast<messageSelfDestructTypeTimer &>(*obj));
32903 }
32904 return true;
32905 case messageSelfDestructTypeImmediately::ID:
32906 if constexpr (AllowTag) {
32907 downcast_call_tag<messageSelfDestructTypeImmediately> type_tag;
32908 func(type_tag);
32909 } else {
32910 func(static_cast<messageSelfDestructTypeImmediately &>(*obj));
32911 }
32912 return true;
32913 default:
32914 return false;
32915 }
32916}

◆ downcast_call_impl() [109/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageSender obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32938 of file td_api.hpp.

32938 { //-V2008
32939 switch (constructor) {
32940 case messageSenderUser::ID:
32941 if constexpr (AllowTag) {
32942 downcast_call_tag<messageSenderUser> type_tag;
32943 func(type_tag);
32944 } else {
32945 func(static_cast<messageSenderUser &>(*obj));
32946 }
32947 return true;
32948 case messageSenderChat::ID:
32949 if constexpr (AllowTag) {
32950 downcast_call_tag<messageSenderChat> type_tag;
32951 func(type_tag);
32952 } else {
32953 func(static_cast<messageSenderChat &>(*obj));
32954 }
32955 return true;
32956 default:
32957 return false;
32958 }
32959}

◆ downcast_call_impl() [110/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageSendingState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 32981 of file td_api.hpp.

32981 { //-V2008
32982 switch (constructor) {
32983 case messageSendingStatePending::ID:
32984 if constexpr (AllowTag) {
32985 downcast_call_tag<messageSendingStatePending> type_tag;
32986 func(type_tag);
32987 } else {
32988 func(static_cast<messageSendingStatePending &>(*obj));
32989 }
32990 return true;
32991 case messageSendingStateFailed::ID:
32992 if constexpr (AllowTag) {
32993 downcast_call_tag<messageSendingStateFailed> type_tag;
32994 func(type_tag);
32995 } else {
32996 func(static_cast<messageSendingStateFailed &>(*obj));
32997 }
32998 return true;
32999 default:
33000 return false;
33001 }
33002}

◆ downcast_call_impl() [111/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33024 of file td_api.hpp.

33024 { //-V2008
33025 switch (constructor) {
33026 case messageSourceChatHistory::ID:
33027 if constexpr (AllowTag) {
33028 downcast_call_tag<messageSourceChatHistory> type_tag;
33029 func(type_tag);
33030 } else {
33031 func(static_cast<messageSourceChatHistory &>(*obj));
33032 }
33033 return true;
33034 case messageSourceMessageThreadHistory::ID:
33035 if constexpr (AllowTag) {
33036 downcast_call_tag<messageSourceMessageThreadHistory> type_tag;
33037 func(type_tag);
33038 } else {
33039 func(static_cast<messageSourceMessageThreadHistory &>(*obj));
33040 }
33041 return true;
33042 case messageSourceForumTopicHistory::ID:
33043 if constexpr (AllowTag) {
33044 downcast_call_tag<messageSourceForumTopicHistory> type_tag;
33045 func(type_tag);
33046 } else {
33047 func(static_cast<messageSourceForumTopicHistory &>(*obj));
33048 }
33049 return true;
33050 case messageSourceDirectMessagesChatTopicHistory::ID:
33051 if constexpr (AllowTag) {
33052 downcast_call_tag<messageSourceDirectMessagesChatTopicHistory> type_tag;
33053 func(type_tag);
33054 } else {
33055 func(static_cast<messageSourceDirectMessagesChatTopicHistory &>(*obj));
33056 }
33057 return true;
33058 case messageSourceHistoryPreview::ID:
33059 if constexpr (AllowTag) {
33060 downcast_call_tag<messageSourceHistoryPreview> type_tag;
33061 func(type_tag);
33062 } else {
33063 func(static_cast<messageSourceHistoryPreview &>(*obj));
33064 }
33065 return true;
33066 case messageSourceChatList::ID:
33067 if constexpr (AllowTag) {
33068 downcast_call_tag<messageSourceChatList> type_tag;
33069 func(type_tag);
33070 } else {
33071 func(static_cast<messageSourceChatList &>(*obj));
33072 }
33073 return true;
33074 case messageSourceSearch::ID:
33075 if constexpr (AllowTag) {
33076 downcast_call_tag<messageSourceSearch> type_tag;
33077 func(type_tag);
33078 } else {
33079 func(static_cast<messageSourceSearch &>(*obj));
33080 }
33081 return true;
33082 case messageSourceChatEventLog::ID:
33083 if constexpr (AllowTag) {
33084 downcast_call_tag<messageSourceChatEventLog> type_tag;
33085 func(type_tag);
33086 } else {
33087 func(static_cast<messageSourceChatEventLog &>(*obj));
33088 }
33089 return true;
33090 case messageSourceNotification::ID:
33091 if constexpr (AllowTag) {
33092 downcast_call_tag<messageSourceNotification> type_tag;
33093 func(type_tag);
33094 } else {
33095 func(static_cast<messageSourceNotification &>(*obj));
33096 }
33097 return true;
33098 case messageSourceScreenshot::ID:
33099 if constexpr (AllowTag) {
33100 downcast_call_tag<messageSourceScreenshot> type_tag;
33101 func(type_tag);
33102 } else {
33103 func(static_cast<messageSourceScreenshot &>(*obj));
33104 }
33105 return true;
33106 case messageSourceOther::ID:
33107 if constexpr (AllowTag) {
33108 downcast_call_tag<messageSourceOther> type_tag;
33109 func(type_tag);
33110 } else {
33111 func(static_cast<messageSourceOther &>(*obj));
33112 }
33113 return true;
33114 default:
33115 return false;
33116 }
33117}

◆ downcast_call_impl() [112/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
MessageTopic obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33139 of file td_api.hpp.

33139 { //-V2008
33140 switch (constructor) {
33141 case messageTopicThread::ID:
33142 if constexpr (AllowTag) {
33143 downcast_call_tag<messageTopicThread> type_tag;
33144 func(type_tag);
33145 } else {
33146 func(static_cast<messageTopicThread &>(*obj));
33147 }
33148 return true;
33149 case messageTopicForum::ID:
33150 if constexpr (AllowTag) {
33151 downcast_call_tag<messageTopicForum> type_tag;
33152 func(type_tag);
33153 } else {
33154 func(static_cast<messageTopicForum &>(*obj));
33155 }
33156 return true;
33157 case messageTopicDirectMessages::ID:
33158 if constexpr (AllowTag) {
33159 downcast_call_tag<messageTopicDirectMessages> type_tag;
33160 func(type_tag);
33161 } else {
33162 func(static_cast<messageTopicDirectMessages &>(*obj));
33163 }
33164 return true;
33165 case messageTopicSavedMessages::ID:
33166 if constexpr (AllowTag) {
33167 downcast_call_tag<messageTopicSavedMessages> type_tag;
33168 func(type_tag);
33169 } else {
33170 func(static_cast<messageTopicSavedMessages &>(*obj));
33171 }
33172 return true;
33173 default:
33174 return false;
33175 }
33176}

◆ downcast_call_impl() [113/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
NetworkStatisticsEntry obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33198 of file td_api.hpp.

33198 { //-V2008
33199 switch (constructor) {
33200 case networkStatisticsEntryFile::ID:
33201 if constexpr (AllowTag) {
33202 downcast_call_tag<networkStatisticsEntryFile> type_tag;
33203 func(type_tag);
33204 } else {
33205 func(static_cast<networkStatisticsEntryFile &>(*obj));
33206 }
33207 return true;
33208 case networkStatisticsEntryCall::ID:
33209 if constexpr (AllowTag) {
33210 downcast_call_tag<networkStatisticsEntryCall> type_tag;
33211 func(type_tag);
33212 } else {
33213 func(static_cast<networkStatisticsEntryCall &>(*obj));
33214 }
33215 return true;
33216 default:
33217 return false;
33218 }
33219}

◆ downcast_call_impl() [114/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
NetworkType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33241 of file td_api.hpp.

33241 { //-V2008
33242 switch (constructor) {
33243 case networkTypeNone::ID:
33244 if constexpr (AllowTag) {
33245 downcast_call_tag<networkTypeNone> type_tag;
33246 func(type_tag);
33247 } else {
33248 func(static_cast<networkTypeNone &>(*obj));
33249 }
33250 return true;
33251 case networkTypeMobile::ID:
33252 if constexpr (AllowTag) {
33253 downcast_call_tag<networkTypeMobile> type_tag;
33254 func(type_tag);
33255 } else {
33256 func(static_cast<networkTypeMobile &>(*obj));
33257 }
33258 return true;
33259 case networkTypeMobileRoaming::ID:
33260 if constexpr (AllowTag) {
33261 downcast_call_tag<networkTypeMobileRoaming> type_tag;
33262 func(type_tag);
33263 } else {
33264 func(static_cast<networkTypeMobileRoaming &>(*obj));
33265 }
33266 return true;
33267 case networkTypeWiFi::ID:
33268 if constexpr (AllowTag) {
33269 downcast_call_tag<networkTypeWiFi> type_tag;
33270 func(type_tag);
33271 } else {
33272 func(static_cast<networkTypeWiFi &>(*obj));
33273 }
33274 return true;
33275 case networkTypeOther::ID:
33276 if constexpr (AllowTag) {
33277 downcast_call_tag<networkTypeOther> type_tag;
33278 func(type_tag);
33279 } else {
33280 func(static_cast<networkTypeOther &>(*obj));
33281 }
33282 return true;
33283 default:
33284 return false;
33285 }
33286}

◆ downcast_call_impl() [115/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
NotificationGroupType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33308 of file td_api.hpp.

33308 { //-V2008
33309 switch (constructor) {
33310 case notificationGroupTypeMessages::ID:
33311 if constexpr (AllowTag) {
33312 downcast_call_tag<notificationGroupTypeMessages> type_tag;
33313 func(type_tag);
33314 } else {
33315 func(static_cast<notificationGroupTypeMessages &>(*obj));
33316 }
33317 return true;
33318 case notificationGroupTypeMentions::ID:
33319 if constexpr (AllowTag) {
33320 downcast_call_tag<notificationGroupTypeMentions> type_tag;
33321 func(type_tag);
33322 } else {
33323 func(static_cast<notificationGroupTypeMentions &>(*obj));
33324 }
33325 return true;
33326 case notificationGroupTypeSecretChat::ID:
33327 if constexpr (AllowTag) {
33328 downcast_call_tag<notificationGroupTypeSecretChat> type_tag;
33329 func(type_tag);
33330 } else {
33331 func(static_cast<notificationGroupTypeSecretChat &>(*obj));
33332 }
33333 return true;
33334 case notificationGroupTypeCalls::ID:
33335 if constexpr (AllowTag) {
33336 downcast_call_tag<notificationGroupTypeCalls> type_tag;
33337 func(type_tag);
33338 } else {
33339 func(static_cast<notificationGroupTypeCalls &>(*obj));
33340 }
33341 return true;
33342 default:
33343 return false;
33344 }
33345}

◆ downcast_call_impl() [116/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
NotificationSettingsScope obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33367 of file td_api.hpp.

33367 { //-V2008
33368 switch (constructor) {
33369 case notificationSettingsScopePrivateChats::ID:
33370 if constexpr (AllowTag) {
33371 downcast_call_tag<notificationSettingsScopePrivateChats> type_tag;
33372 func(type_tag);
33373 } else {
33374 func(static_cast<notificationSettingsScopePrivateChats &>(*obj));
33375 }
33376 return true;
33377 case notificationSettingsScopeGroupChats::ID:
33378 if constexpr (AllowTag) {
33379 downcast_call_tag<notificationSettingsScopeGroupChats> type_tag;
33380 func(type_tag);
33381 } else {
33382 func(static_cast<notificationSettingsScopeGroupChats &>(*obj));
33383 }
33384 return true;
33385 case notificationSettingsScopeChannelChats::ID:
33386 if constexpr (AllowTag) {
33387 downcast_call_tag<notificationSettingsScopeChannelChats> type_tag;
33388 func(type_tag);
33389 } else {
33390 func(static_cast<notificationSettingsScopeChannelChats &>(*obj));
33391 }
33392 return true;
33393 default:
33394 return false;
33395 }
33396}

◆ downcast_call_impl() [117/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
NotificationType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33418 of file td_api.hpp.

33418 { //-V2008
33419 switch (constructor) {
33420 case notificationTypeNewMessage::ID:
33421 if constexpr (AllowTag) {
33422 downcast_call_tag<notificationTypeNewMessage> type_tag;
33423 func(type_tag);
33424 } else {
33425 func(static_cast<notificationTypeNewMessage &>(*obj));
33426 }
33427 return true;
33428 case notificationTypeNewSecretChat::ID:
33429 if constexpr (AllowTag) {
33430 downcast_call_tag<notificationTypeNewSecretChat> type_tag;
33431 func(type_tag);
33432 } else {
33433 func(static_cast<notificationTypeNewSecretChat &>(*obj));
33434 }
33435 return true;
33436 case notificationTypeNewCall::ID:
33437 if constexpr (AllowTag) {
33438 downcast_call_tag<notificationTypeNewCall> type_tag;
33439 func(type_tag);
33440 } else {
33441 func(static_cast<notificationTypeNewCall &>(*obj));
33442 }
33443 return true;
33444 case notificationTypeNewPushMessage::ID:
33445 if constexpr (AllowTag) {
33446 downcast_call_tag<notificationTypeNewPushMessage> type_tag;
33447 func(type_tag);
33448 } else {
33449 func(static_cast<notificationTypeNewPushMessage &>(*obj));
33450 }
33451 return true;
33452 default:
33453 return false;
33454 }
33455}

◆ downcast_call_impl() [118/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
Object obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 59 of file td_api.hpp.

59 { //-V2008
60 switch (constructor) {
61 case accentColor::ID:
62 if constexpr (AllowTag) {
63 downcast_call_tag<accentColor> type_tag;
64 func(type_tag);
65 } else {
66 func(static_cast<accentColor &>(*obj));
67 }
68 return true;
69 case acceptedGiftTypes::ID:
70 if constexpr (AllowTag) {
71 downcast_call_tag<acceptedGiftTypes> type_tag;
72 func(type_tag);
73 } else {
74 func(static_cast<acceptedGiftTypes &>(*obj));
75 }
76 return true;
77 case accountInfo::ID:
78 if constexpr (AllowTag) {
79 downcast_call_tag<accountInfo> type_tag;
80 func(type_tag);
81 } else {
82 func(static_cast<accountInfo &>(*obj));
83 }
84 return true;
85 case accountTtl::ID:
86 if constexpr (AllowTag) {
87 downcast_call_tag<accountTtl> type_tag;
88 func(type_tag);
89 } else {
90 func(static_cast<accountTtl &>(*obj));
91 }
92 return true;
93 case activeStoryStateLive::ID:
94 if constexpr (AllowTag) {
95 downcast_call_tag<activeStoryStateLive> type_tag;
96 func(type_tag);
97 } else {
98 func(static_cast<activeStoryStateLive &>(*obj));
99 }
100 return true;
101 case activeStoryStateUnread::ID:
102 if constexpr (AllowTag) {
103 downcast_call_tag<activeStoryStateUnread> type_tag;
104 func(type_tag);
105 } else {
106 func(static_cast<activeStoryStateUnread &>(*obj));
107 }
108 return true;
109 case activeStoryStateRead::ID:
110 if constexpr (AllowTag) {
111 downcast_call_tag<activeStoryStateRead> type_tag;
112 func(type_tag);
113 } else {
114 func(static_cast<activeStoryStateRead &>(*obj));
115 }
116 return true;
117 case addedProxies::ID:
118 if constexpr (AllowTag) {
119 downcast_call_tag<addedProxies> type_tag;
120 func(type_tag);
121 } else {
122 func(static_cast<addedProxies &>(*obj));
123 }
124 return true;
125 case addedProxy::ID:
126 if constexpr (AllowTag) {
127 downcast_call_tag<addedProxy> type_tag;
128 func(type_tag);
129 } else {
130 func(static_cast<addedProxy &>(*obj));
131 }
132 return true;
133 case addedReaction::ID:
134 if constexpr (AllowTag) {
135 downcast_call_tag<addedReaction> type_tag;
136 func(type_tag);
137 } else {
138 func(static_cast<addedReaction &>(*obj));
139 }
140 return true;
141 case addedReactions::ID:
142 if constexpr (AllowTag) {
143 downcast_call_tag<addedReactions> type_tag;
144 func(type_tag);
145 } else {
146 func(static_cast<addedReactions &>(*obj));
147 }
148 return true;
149 case address::ID:
150 if constexpr (AllowTag) {
151 downcast_call_tag<address> type_tag;
152 func(type_tag);
153 } else {
154 func(static_cast<address &>(*obj));
155 }
156 return true;
157 case advertisementSponsor::ID:
158 if constexpr (AllowTag) {
159 downcast_call_tag<advertisementSponsor> type_tag;
160 func(type_tag);
161 } else {
162 func(static_cast<advertisementSponsor &>(*obj));
163 }
164 return true;
165 case affiliateInfo::ID:
166 if constexpr (AllowTag) {
167 downcast_call_tag<affiliateInfo> type_tag;
168 func(type_tag);
169 } else {
170 func(static_cast<affiliateInfo &>(*obj));
171 }
172 return true;
173 case affiliateProgramInfo::ID:
174 if constexpr (AllowTag) {
175 downcast_call_tag<affiliateProgramInfo> type_tag;
176 func(type_tag);
177 } else {
178 func(static_cast<affiliateProgramInfo &>(*obj));
179 }
180 return true;
181 case affiliateProgramParameters::ID:
182 if constexpr (AllowTag) {
183 downcast_call_tag<affiliateProgramParameters> type_tag;
184 func(type_tag);
185 } else {
186 func(static_cast<affiliateProgramParameters &>(*obj));
187 }
188 return true;
189 case affiliateProgramSortOrderProfitability::ID:
190 if constexpr (AllowTag) {
191 downcast_call_tag<affiliateProgramSortOrderProfitability> type_tag;
192 func(type_tag);
193 } else {
194 func(static_cast<affiliateProgramSortOrderProfitability &>(*obj));
195 }
196 return true;
197 case affiliateProgramSortOrderCreationDate::ID:
198 if constexpr (AllowTag) {
199 downcast_call_tag<affiliateProgramSortOrderCreationDate> type_tag;
200 func(type_tag);
201 } else {
202 func(static_cast<affiliateProgramSortOrderCreationDate &>(*obj));
203 }
204 return true;
205 case affiliateProgramSortOrderRevenue::ID:
206 if constexpr (AllowTag) {
207 downcast_call_tag<affiliateProgramSortOrderRevenue> type_tag;
208 func(type_tag);
209 } else {
210 func(static_cast<affiliateProgramSortOrderRevenue &>(*obj));
211 }
212 return true;
213 case affiliateTypeCurrentUser::ID:
214 if constexpr (AllowTag) {
215 downcast_call_tag<affiliateTypeCurrentUser> type_tag;
216 func(type_tag);
217 } else {
218 func(static_cast<affiliateTypeCurrentUser &>(*obj));
219 }
220 return true;
221 case affiliateTypeBot::ID:
222 if constexpr (AllowTag) {
223 downcast_call_tag<affiliateTypeBot> type_tag;
224 func(type_tag);
225 } else {
226 func(static_cast<affiliateTypeBot &>(*obj));
227 }
228 return true;
229 case affiliateTypeChannel::ID:
230 if constexpr (AllowTag) {
231 downcast_call_tag<affiliateTypeChannel> type_tag;
232 func(type_tag);
233 } else {
234 func(static_cast<affiliateTypeChannel &>(*obj));
235 }
236 return true;
237 case ageVerificationParameters::ID:
238 if constexpr (AllowTag) {
239 downcast_call_tag<ageVerificationParameters> type_tag;
240 func(type_tag);
241 } else {
242 func(static_cast<ageVerificationParameters &>(*obj));
243 }
244 return true;
245 case alternativeVideo::ID:
246 if constexpr (AllowTag) {
247 downcast_call_tag<alternativeVideo> type_tag;
248 func(type_tag);
249 } else {
250 func(static_cast<alternativeVideo &>(*obj));
251 }
252 return true;
253 case animatedChatPhoto::ID:
254 if constexpr (AllowTag) {
255 downcast_call_tag<animatedChatPhoto> type_tag;
256 func(type_tag);
257 } else {
258 func(static_cast<animatedChatPhoto &>(*obj));
259 }
260 return true;
261 case animatedEmoji::ID:
262 if constexpr (AllowTag) {
263 downcast_call_tag<animatedEmoji> type_tag;
264 func(type_tag);
265 } else {
266 func(static_cast<animatedEmoji &>(*obj));
267 }
268 return true;
269 case animation::ID:
270 if constexpr (AllowTag) {
271 downcast_call_tag<animation> type_tag;
272 func(type_tag);
273 } else {
274 func(static_cast<animation &>(*obj));
275 }
276 return true;
277 case animations::ID:
278 if constexpr (AllowTag) {
279 downcast_call_tag<animations> type_tag;
280 func(type_tag);
281 } else {
282 func(static_cast<animations &>(*obj));
283 }
284 return true;
285 case archiveChatListSettings::ID:
286 if constexpr (AllowTag) {
287 downcast_call_tag<archiveChatListSettings> type_tag;
288 func(type_tag);
289 } else {
290 func(static_cast<archiveChatListSettings &>(*obj));
291 }
292 return true;
293 case attachmentMenuBot::ID:
294 if constexpr (AllowTag) {
295 downcast_call_tag<attachmentMenuBot> type_tag;
296 func(type_tag);
297 } else {
298 func(static_cast<attachmentMenuBot &>(*obj));
299 }
300 return true;
301 case attachmentMenuBotColor::ID:
302 if constexpr (AllowTag) {
303 downcast_call_tag<attachmentMenuBotColor> type_tag;
304 func(type_tag);
305 } else {
306 func(static_cast<attachmentMenuBotColor &>(*obj));
307 }
308 return true;
309 case attributeCraftPersistenceProbability::ID:
310 if constexpr (AllowTag) {
311 downcast_call_tag<attributeCraftPersistenceProbability> type_tag;
312 func(type_tag);
313 } else {
314 func(static_cast<attributeCraftPersistenceProbability &>(*obj));
315 }
316 return true;
317 case auctionBid::ID:
318 if constexpr (AllowTag) {
319 downcast_call_tag<auctionBid> type_tag;
320 func(type_tag);
321 } else {
322 func(static_cast<auctionBid &>(*obj));
323 }
324 return true;
325 case auctionRound::ID:
326 if constexpr (AllowTag) {
327 downcast_call_tag<auctionRound> type_tag;
328 func(type_tag);
329 } else {
330 func(static_cast<auctionRound &>(*obj));
331 }
332 return true;
333 case auctionStateActive::ID:
334 if constexpr (AllowTag) {
335 downcast_call_tag<auctionStateActive> type_tag;
336 func(type_tag);
337 } else {
338 func(static_cast<auctionStateActive &>(*obj));
339 }
340 return true;
341 case auctionStateFinished::ID:
342 if constexpr (AllowTag) {
343 downcast_call_tag<auctionStateFinished> type_tag;
344 func(type_tag);
345 } else {
346 func(static_cast<auctionStateFinished &>(*obj));
347 }
348 return true;
349 case audio::ID:
350 if constexpr (AllowTag) {
351 downcast_call_tag<audio> type_tag;
352 func(type_tag);
353 } else {
354 func(static_cast<audio &>(*obj));
355 }
356 return true;
357 case audios::ID:
358 if constexpr (AllowTag) {
359 downcast_call_tag<audios> type_tag;
360 func(type_tag);
361 } else {
362 func(static_cast<audios &>(*obj));
363 }
364 return true;
365 case authenticationCodeInfo::ID:
366 if constexpr (AllowTag) {
367 downcast_call_tag<authenticationCodeInfo> type_tag;
368 func(type_tag);
369 } else {
370 func(static_cast<authenticationCodeInfo &>(*obj));
371 }
372 return true;
373 case authenticationCodeTypeTelegramMessage::ID:
374 if constexpr (AllowTag) {
375 downcast_call_tag<authenticationCodeTypeTelegramMessage> type_tag;
376 func(type_tag);
377 } else {
378 func(static_cast<authenticationCodeTypeTelegramMessage &>(*obj));
379 }
380 return true;
381 case authenticationCodeTypeSms::ID:
382 if constexpr (AllowTag) {
383 downcast_call_tag<authenticationCodeTypeSms> type_tag;
384 func(type_tag);
385 } else {
386 func(static_cast<authenticationCodeTypeSms &>(*obj));
387 }
388 return true;
389 case authenticationCodeTypeSmsWord::ID:
390 if constexpr (AllowTag) {
391 downcast_call_tag<authenticationCodeTypeSmsWord> type_tag;
392 func(type_tag);
393 } else {
394 func(static_cast<authenticationCodeTypeSmsWord &>(*obj));
395 }
396 return true;
397 case authenticationCodeTypeSmsPhrase::ID:
398 if constexpr (AllowTag) {
399 downcast_call_tag<authenticationCodeTypeSmsPhrase> type_tag;
400 func(type_tag);
401 } else {
402 func(static_cast<authenticationCodeTypeSmsPhrase &>(*obj));
403 }
404 return true;
405 case authenticationCodeTypeCall::ID:
406 if constexpr (AllowTag) {
407 downcast_call_tag<authenticationCodeTypeCall> type_tag;
408 func(type_tag);
409 } else {
410 func(static_cast<authenticationCodeTypeCall &>(*obj));
411 }
412 return true;
413 case authenticationCodeTypeFlashCall::ID:
414 if constexpr (AllowTag) {
415 downcast_call_tag<authenticationCodeTypeFlashCall> type_tag;
416 func(type_tag);
417 } else {
418 func(static_cast<authenticationCodeTypeFlashCall &>(*obj));
419 }
420 return true;
421 case authenticationCodeTypeMissedCall::ID:
422 if constexpr (AllowTag) {
423 downcast_call_tag<authenticationCodeTypeMissedCall> type_tag;
424 func(type_tag);
425 } else {
426 func(static_cast<authenticationCodeTypeMissedCall &>(*obj));
427 }
428 return true;
429 case authenticationCodeTypeFragment::ID:
430 if constexpr (AllowTag) {
431 downcast_call_tag<authenticationCodeTypeFragment> type_tag;
432 func(type_tag);
433 } else {
434 func(static_cast<authenticationCodeTypeFragment &>(*obj));
435 }
436 return true;
437 case authenticationCodeTypeFirebaseAndroid::ID:
438 if constexpr (AllowTag) {
439 downcast_call_tag<authenticationCodeTypeFirebaseAndroid> type_tag;
440 func(type_tag);
441 } else {
442 func(static_cast<authenticationCodeTypeFirebaseAndroid &>(*obj));
443 }
444 return true;
445 case authenticationCodeTypeFirebaseIos::ID:
446 if constexpr (AllowTag) {
447 downcast_call_tag<authenticationCodeTypeFirebaseIos> type_tag;
448 func(type_tag);
449 } else {
450 func(static_cast<authenticationCodeTypeFirebaseIos &>(*obj));
451 }
452 return true;
453 case authorizationStateWaitTdlibParameters::ID:
454 if constexpr (AllowTag) {
455 downcast_call_tag<authorizationStateWaitTdlibParameters> type_tag;
456 func(type_tag);
457 } else {
458 func(static_cast<authorizationStateWaitTdlibParameters &>(*obj));
459 }
460 return true;
461 case authorizationStateWaitPhoneNumber::ID:
462 if constexpr (AllowTag) {
463 downcast_call_tag<authorizationStateWaitPhoneNumber> type_tag;
464 func(type_tag);
465 } else {
466 func(static_cast<authorizationStateWaitPhoneNumber &>(*obj));
467 }
468 return true;
469 case authorizationStateWaitPremiumPurchase::ID:
470 if constexpr (AllowTag) {
471 downcast_call_tag<authorizationStateWaitPremiumPurchase> type_tag;
472 func(type_tag);
473 } else {
474 func(static_cast<authorizationStateWaitPremiumPurchase &>(*obj));
475 }
476 return true;
477 case authorizationStateWaitEmailAddress::ID:
478 if constexpr (AllowTag) {
479 downcast_call_tag<authorizationStateWaitEmailAddress> type_tag;
480 func(type_tag);
481 } else {
482 func(static_cast<authorizationStateWaitEmailAddress &>(*obj));
483 }
484 return true;
485 case authorizationStateWaitEmailCode::ID:
486 if constexpr (AllowTag) {
487 downcast_call_tag<authorizationStateWaitEmailCode> type_tag;
488 func(type_tag);
489 } else {
490 func(static_cast<authorizationStateWaitEmailCode &>(*obj));
491 }
492 return true;
493 case authorizationStateWaitCode::ID:
494 if constexpr (AllowTag) {
495 downcast_call_tag<authorizationStateWaitCode> type_tag;
496 func(type_tag);
497 } else {
498 func(static_cast<authorizationStateWaitCode &>(*obj));
499 }
500 return true;
501 case authorizationStateWaitOtherDeviceConfirmation::ID:
502 if constexpr (AllowTag) {
503 downcast_call_tag<authorizationStateWaitOtherDeviceConfirmation> type_tag;
504 func(type_tag);
505 } else {
506 func(static_cast<authorizationStateWaitOtherDeviceConfirmation &>(*obj));
507 }
508 return true;
509 case authorizationStateWaitRegistration::ID:
510 if constexpr (AllowTag) {
511 downcast_call_tag<authorizationStateWaitRegistration> type_tag;
512 func(type_tag);
513 } else {
514 func(static_cast<authorizationStateWaitRegistration &>(*obj));
515 }
516 return true;
517 case authorizationStateWaitPassword::ID:
518 if constexpr (AllowTag) {
519 downcast_call_tag<authorizationStateWaitPassword> type_tag;
520 func(type_tag);
521 } else {
522 func(static_cast<authorizationStateWaitPassword &>(*obj));
523 }
524 return true;
525 case authorizationStateReady::ID:
526 if constexpr (AllowTag) {
527 downcast_call_tag<authorizationStateReady> type_tag;
528 func(type_tag);
529 } else {
530 func(static_cast<authorizationStateReady &>(*obj));
531 }
532 return true;
533 case authorizationStateLoggingOut::ID:
534 if constexpr (AllowTag) {
535 downcast_call_tag<authorizationStateLoggingOut> type_tag;
536 func(type_tag);
537 } else {
538 func(static_cast<authorizationStateLoggingOut &>(*obj));
539 }
540 return true;
541 case authorizationStateClosing::ID:
542 if constexpr (AllowTag) {
543 downcast_call_tag<authorizationStateClosing> type_tag;
544 func(type_tag);
545 } else {
546 func(static_cast<authorizationStateClosing &>(*obj));
547 }
548 return true;
549 case authorizationStateClosed::ID:
550 if constexpr (AllowTag) {
551 downcast_call_tag<authorizationStateClosed> type_tag;
552 func(type_tag);
553 } else {
554 func(static_cast<authorizationStateClosed &>(*obj));
555 }
556 return true;
557 case autoDownloadSettings::ID:
558 if constexpr (AllowTag) {
559 downcast_call_tag<autoDownloadSettings> type_tag;
560 func(type_tag);
561 } else {
562 func(static_cast<autoDownloadSettings &>(*obj));
563 }
564 return true;
565 case autoDownloadSettingsPresets::ID:
566 if constexpr (AllowTag) {
567 downcast_call_tag<autoDownloadSettingsPresets> type_tag;
568 func(type_tag);
569 } else {
570 func(static_cast<autoDownloadSettingsPresets &>(*obj));
571 }
572 return true;
573 case autosaveSettings::ID:
574 if constexpr (AllowTag) {
575 downcast_call_tag<autosaveSettings> type_tag;
576 func(type_tag);
577 } else {
578 func(static_cast<autosaveSettings &>(*obj));
579 }
580 return true;
581 case autosaveSettingsException::ID:
582 if constexpr (AllowTag) {
583 downcast_call_tag<autosaveSettingsException> type_tag;
584 func(type_tag);
585 } else {
586 func(static_cast<autosaveSettingsException &>(*obj));
587 }
588 return true;
589 case autosaveSettingsScopePrivateChats::ID:
590 if constexpr (AllowTag) {
591 downcast_call_tag<autosaveSettingsScopePrivateChats> type_tag;
592 func(type_tag);
593 } else {
594 func(static_cast<autosaveSettingsScopePrivateChats &>(*obj));
595 }
596 return true;
597 case autosaveSettingsScopeGroupChats::ID:
598 if constexpr (AllowTag) {
599 downcast_call_tag<autosaveSettingsScopeGroupChats> type_tag;
600 func(type_tag);
601 } else {
602 func(static_cast<autosaveSettingsScopeGroupChats &>(*obj));
603 }
604 return true;
605 case autosaveSettingsScopeChannelChats::ID:
606 if constexpr (AllowTag) {
607 downcast_call_tag<autosaveSettingsScopeChannelChats> type_tag;
608 func(type_tag);
609 } else {
610 func(static_cast<autosaveSettingsScopeChannelChats &>(*obj));
611 }
612 return true;
613 case autosaveSettingsScopeChat::ID:
614 if constexpr (AllowTag) {
615 downcast_call_tag<autosaveSettingsScopeChat> type_tag;
616 func(type_tag);
617 } else {
618 func(static_cast<autosaveSettingsScopeChat &>(*obj));
619 }
620 return true;
621 case availableGift::ID:
622 if constexpr (AllowTag) {
623 downcast_call_tag<availableGift> type_tag;
624 func(type_tag);
625 } else {
626 func(static_cast<availableGift &>(*obj));
627 }
628 return true;
629 case availableGifts::ID:
630 if constexpr (AllowTag) {
631 downcast_call_tag<availableGifts> type_tag;
632 func(type_tag);
633 } else {
634 func(static_cast<availableGifts &>(*obj));
635 }
636 return true;
637 case availableReaction::ID:
638 if constexpr (AllowTag) {
639 downcast_call_tag<availableReaction> type_tag;
640 func(type_tag);
641 } else {
642 func(static_cast<availableReaction &>(*obj));
643 }
644 return true;
645 case availableReactions::ID:
646 if constexpr (AllowTag) {
647 downcast_call_tag<availableReactions> type_tag;
648 func(type_tag);
649 } else {
650 func(static_cast<availableReactions &>(*obj));
651 }
652 return true;
653 case background::ID:
654 if constexpr (AllowTag) {
655 downcast_call_tag<background> type_tag;
656 func(type_tag);
657 } else {
658 func(static_cast<background &>(*obj));
659 }
660 return true;
661 case backgroundFillSolid::ID:
662 if constexpr (AllowTag) {
663 downcast_call_tag<backgroundFillSolid> type_tag;
664 func(type_tag);
665 } else {
666 func(static_cast<backgroundFillSolid &>(*obj));
667 }
668 return true;
669 case backgroundFillGradient::ID:
670 if constexpr (AllowTag) {
671 downcast_call_tag<backgroundFillGradient> type_tag;
672 func(type_tag);
673 } else {
674 func(static_cast<backgroundFillGradient &>(*obj));
675 }
676 return true;
677 case backgroundFillFreeformGradient::ID:
678 if constexpr (AllowTag) {
679 downcast_call_tag<backgroundFillFreeformGradient> type_tag;
680 func(type_tag);
681 } else {
682 func(static_cast<backgroundFillFreeformGradient &>(*obj));
683 }
684 return true;
685 case backgroundTypeWallpaper::ID:
686 if constexpr (AllowTag) {
687 downcast_call_tag<backgroundTypeWallpaper> type_tag;
688 func(type_tag);
689 } else {
690 func(static_cast<backgroundTypeWallpaper &>(*obj));
691 }
692 return true;
693 case backgroundTypePattern::ID:
694 if constexpr (AllowTag) {
695 downcast_call_tag<backgroundTypePattern> type_tag;
696 func(type_tag);
697 } else {
698 func(static_cast<backgroundTypePattern &>(*obj));
699 }
700 return true;
701 case backgroundTypeFill::ID:
702 if constexpr (AllowTag) {
703 downcast_call_tag<backgroundTypeFill> type_tag;
704 func(type_tag);
705 } else {
706 func(static_cast<backgroundTypeFill &>(*obj));
707 }
708 return true;
709 case backgroundTypeChatTheme::ID:
710 if constexpr (AllowTag) {
711 downcast_call_tag<backgroundTypeChatTheme> type_tag;
712 func(type_tag);
713 } else {
714 func(static_cast<backgroundTypeChatTheme &>(*obj));
715 }
716 return true;
717 case backgrounds::ID:
718 if constexpr (AllowTag) {
719 downcast_call_tag<backgrounds> type_tag;
720 func(type_tag);
721 } else {
722 func(static_cast<backgrounds &>(*obj));
723 }
724 return true;
725 case bankCardActionOpenUrl::ID:
726 if constexpr (AllowTag) {
727 downcast_call_tag<bankCardActionOpenUrl> type_tag;
728 func(type_tag);
729 } else {
730 func(static_cast<bankCardActionOpenUrl &>(*obj));
731 }
732 return true;
733 case bankCardInfo::ID:
734 if constexpr (AllowTag) {
735 downcast_call_tag<bankCardInfo> type_tag;
736 func(type_tag);
737 } else {
738 func(static_cast<bankCardInfo &>(*obj));
739 }
740 return true;
741 case basicGroup::ID:
742 if constexpr (AllowTag) {
743 downcast_call_tag<basicGroup> type_tag;
744 func(type_tag);
745 } else {
746 func(static_cast<basicGroup &>(*obj));
747 }
748 return true;
749 case basicGroupFullInfo::ID:
750 if constexpr (AllowTag) {
751 downcast_call_tag<basicGroupFullInfo> type_tag;
752 func(type_tag);
753 } else {
754 func(static_cast<basicGroupFullInfo &>(*obj));
755 }
756 return true;
757 case birthdate::ID:
758 if constexpr (AllowTag) {
759 downcast_call_tag<birthdate> type_tag;
760 func(type_tag);
761 } else {
762 func(static_cast<birthdate &>(*obj));
763 }
764 return true;
765 case blockListMain::ID:
766 if constexpr (AllowTag) {
767 downcast_call_tag<blockListMain> type_tag;
768 func(type_tag);
769 } else {
770 func(static_cast<blockListMain &>(*obj));
771 }
772 return true;
773 case blockListStories::ID:
774 if constexpr (AllowTag) {
775 downcast_call_tag<blockListStories> type_tag;
776 func(type_tag);
777 } else {
778 func(static_cast<blockListStories &>(*obj));
779 }
780 return true;
781 case botAccessSettings::ID:
782 if constexpr (AllowTag) {
783 downcast_call_tag<botAccessSettings> type_tag;
784 func(type_tag);
785 } else {
786 func(static_cast<botAccessSettings &>(*obj));
787 }
788 return true;
789 case botCommand::ID:
790 if constexpr (AllowTag) {
791 downcast_call_tag<botCommand> type_tag;
792 func(type_tag);
793 } else {
794 func(static_cast<botCommand &>(*obj));
795 }
796 return true;
797 case botCommandScopeDefault::ID:
798 if constexpr (AllowTag) {
799 downcast_call_tag<botCommandScopeDefault> type_tag;
800 func(type_tag);
801 } else {
802 func(static_cast<botCommandScopeDefault &>(*obj));
803 }
804 return true;
805 case botCommandScopeAllPrivateChats::ID:
806 if constexpr (AllowTag) {
807 downcast_call_tag<botCommandScopeAllPrivateChats> type_tag;
808 func(type_tag);
809 } else {
810 func(static_cast<botCommandScopeAllPrivateChats &>(*obj));
811 }
812 return true;
813 case botCommandScopeAllGroupChats::ID:
814 if constexpr (AllowTag) {
815 downcast_call_tag<botCommandScopeAllGroupChats> type_tag;
816 func(type_tag);
817 } else {
818 func(static_cast<botCommandScopeAllGroupChats &>(*obj));
819 }
820 return true;
821 case botCommandScopeAllChatAdministrators::ID:
822 if constexpr (AllowTag) {
823 downcast_call_tag<botCommandScopeAllChatAdministrators> type_tag;
824 func(type_tag);
825 } else {
826 func(static_cast<botCommandScopeAllChatAdministrators &>(*obj));
827 }
828 return true;
829 case botCommandScopeChat::ID:
830 if constexpr (AllowTag) {
831 downcast_call_tag<botCommandScopeChat> type_tag;
832 func(type_tag);
833 } else {
834 func(static_cast<botCommandScopeChat &>(*obj));
835 }
836 return true;
837 case botCommandScopeChatAdministrators::ID:
838 if constexpr (AllowTag) {
839 downcast_call_tag<botCommandScopeChatAdministrators> type_tag;
840 func(type_tag);
841 } else {
842 func(static_cast<botCommandScopeChatAdministrators &>(*obj));
843 }
844 return true;
845 case botCommandScopeChatMember::ID:
846 if constexpr (AllowTag) {
847 downcast_call_tag<botCommandScopeChatMember> type_tag;
848 func(type_tag);
849 } else {
850 func(static_cast<botCommandScopeChatMember &>(*obj));
851 }
852 return true;
853 case botCommands::ID:
854 if constexpr (AllowTag) {
855 downcast_call_tag<botCommands> type_tag;
856 func(type_tag);
857 } else {
858 func(static_cast<botCommands &>(*obj));
859 }
860 return true;
861 case botInfo::ID:
862 if constexpr (AllowTag) {
863 downcast_call_tag<botInfo> type_tag;
864 func(type_tag);
865 } else {
866 func(static_cast<botInfo &>(*obj));
867 }
868 return true;
869 case botMediaPreview::ID:
870 if constexpr (AllowTag) {
871 downcast_call_tag<botMediaPreview> type_tag;
872 func(type_tag);
873 } else {
874 func(static_cast<botMediaPreview &>(*obj));
875 }
876 return true;
877 case botMediaPreviewInfo::ID:
878 if constexpr (AllowTag) {
879 downcast_call_tag<botMediaPreviewInfo> type_tag;
880 func(type_tag);
881 } else {
882 func(static_cast<botMediaPreviewInfo &>(*obj));
883 }
884 return true;
885 case botMediaPreviews::ID:
886 if constexpr (AllowTag) {
887 downcast_call_tag<botMediaPreviews> type_tag;
888 func(type_tag);
889 } else {
890 func(static_cast<botMediaPreviews &>(*obj));
891 }
892 return true;
893 case botMenuButton::ID:
894 if constexpr (AllowTag) {
895 downcast_call_tag<botMenuButton> type_tag;
896 func(type_tag);
897 } else {
898 func(static_cast<botMenuButton &>(*obj));
899 }
900 return true;
901 case botVerification::ID:
902 if constexpr (AllowTag) {
903 downcast_call_tag<botVerification> type_tag;
904 func(type_tag);
905 } else {
906 func(static_cast<botVerification &>(*obj));
907 }
908 return true;
909 case botVerificationParameters::ID:
910 if constexpr (AllowTag) {
911 downcast_call_tag<botVerificationParameters> type_tag;
912 func(type_tag);
913 } else {
914 func(static_cast<botVerificationParameters &>(*obj));
915 }
916 return true;
917 case botWriteAccessAllowReasonConnectedWebsite::ID:
918 if constexpr (AllowTag) {
919 downcast_call_tag<botWriteAccessAllowReasonConnectedWebsite> type_tag;
920 func(type_tag);
921 } else {
922 func(static_cast<botWriteAccessAllowReasonConnectedWebsite &>(*obj));
923 }
924 return true;
925 case botWriteAccessAllowReasonAddedToAttachmentMenu::ID:
926 if constexpr (AllowTag) {
927 downcast_call_tag<botWriteAccessAllowReasonAddedToAttachmentMenu> type_tag;
928 func(type_tag);
929 } else {
930 func(static_cast<botWriteAccessAllowReasonAddedToAttachmentMenu &>(*obj));
931 }
932 return true;
933 case botWriteAccessAllowReasonLaunchedWebApp::ID:
934 if constexpr (AllowTag) {
935 downcast_call_tag<botWriteAccessAllowReasonLaunchedWebApp> type_tag;
936 func(type_tag);
937 } else {
938 func(static_cast<botWriteAccessAllowReasonLaunchedWebApp &>(*obj));
939 }
940 return true;
941 case botWriteAccessAllowReasonAcceptedRequest::ID:
942 if constexpr (AllowTag) {
943 downcast_call_tag<botWriteAccessAllowReasonAcceptedRequest> type_tag;
944 func(type_tag);
945 } else {
946 func(static_cast<botWriteAccessAllowReasonAcceptedRequest &>(*obj));
947 }
948 return true;
949 case builtInThemeClassic::ID:
950 if constexpr (AllowTag) {
951 downcast_call_tag<builtInThemeClassic> type_tag;
952 func(type_tag);
953 } else {
954 func(static_cast<builtInThemeClassic &>(*obj));
955 }
956 return true;
957 case builtInThemeDay::ID:
958 if constexpr (AllowTag) {
959 downcast_call_tag<builtInThemeDay> type_tag;
960 func(type_tag);
961 } else {
962 func(static_cast<builtInThemeDay &>(*obj));
963 }
964 return true;
965 case builtInThemeNight::ID:
966 if constexpr (AllowTag) {
967 downcast_call_tag<builtInThemeNight> type_tag;
968 func(type_tag);
969 } else {
970 func(static_cast<builtInThemeNight &>(*obj));
971 }
972 return true;
973 case builtInThemeTinted::ID:
974 if constexpr (AllowTag) {
975 downcast_call_tag<builtInThemeTinted> type_tag;
976 func(type_tag);
977 } else {
978 func(static_cast<builtInThemeTinted &>(*obj));
979 }
980 return true;
981 case builtInThemeArctic::ID:
982 if constexpr (AllowTag) {
983 downcast_call_tag<builtInThemeArctic> type_tag;
984 func(type_tag);
985 } else {
986 func(static_cast<builtInThemeArctic &>(*obj));
987 }
988 return true;
989 case businessAwayMessageScheduleAlways::ID:
990 if constexpr (AllowTag) {
991 downcast_call_tag<businessAwayMessageScheduleAlways> type_tag;
992 func(type_tag);
993 } else {
994 func(static_cast<businessAwayMessageScheduleAlways &>(*obj));
995 }
996 return true;
997 case businessAwayMessageScheduleOutsideOfOpeningHours::ID:
998 if constexpr (AllowTag) {
999 downcast_call_tag<businessAwayMessageScheduleOutsideOfOpeningHours> type_tag;
1000 func(type_tag);
1001 } else {
1002 func(static_cast<businessAwayMessageScheduleOutsideOfOpeningHours &>(*obj));
1003 }
1004 return true;
1005 case businessAwayMessageScheduleCustom::ID:
1006 if constexpr (AllowTag) {
1007 downcast_call_tag<businessAwayMessageScheduleCustom> type_tag;
1008 func(type_tag);
1009 } else {
1010 func(static_cast<businessAwayMessageScheduleCustom &>(*obj));
1011 }
1012 return true;
1013 case businessAwayMessageSettings::ID:
1014 if constexpr (AllowTag) {
1015 downcast_call_tag<businessAwayMessageSettings> type_tag;
1016 func(type_tag);
1017 } else {
1018 func(static_cast<businessAwayMessageSettings &>(*obj));
1019 }
1020 return true;
1021 case businessBotManageBar::ID:
1022 if constexpr (AllowTag) {
1023 downcast_call_tag<businessBotManageBar> type_tag;
1024 func(type_tag);
1025 } else {
1026 func(static_cast<businessBotManageBar &>(*obj));
1027 }
1028 return true;
1029 case businessBotRights::ID:
1030 if constexpr (AllowTag) {
1031 downcast_call_tag<businessBotRights> type_tag;
1032 func(type_tag);
1033 } else {
1034 func(static_cast<businessBotRights &>(*obj));
1035 }
1036 return true;
1037 case businessChatLink::ID:
1038 if constexpr (AllowTag) {
1039 downcast_call_tag<businessChatLink> type_tag;
1040 func(type_tag);
1041 } else {
1042 func(static_cast<businessChatLink &>(*obj));
1043 }
1044 return true;
1045 case businessChatLinkInfo::ID:
1046 if constexpr (AllowTag) {
1047 downcast_call_tag<businessChatLinkInfo> type_tag;
1048 func(type_tag);
1049 } else {
1050 func(static_cast<businessChatLinkInfo &>(*obj));
1051 }
1052 return true;
1053 case businessChatLinks::ID:
1054 if constexpr (AllowTag) {
1055 downcast_call_tag<businessChatLinks> type_tag;
1056 func(type_tag);
1057 } else {
1058 func(static_cast<businessChatLinks &>(*obj));
1059 }
1060 return true;
1061 case businessConnectedBot::ID:
1062 if constexpr (AllowTag) {
1063 downcast_call_tag<businessConnectedBot> type_tag;
1064 func(type_tag);
1065 } else {
1066 func(static_cast<businessConnectedBot &>(*obj));
1067 }
1068 return true;
1069 case businessConnection::ID:
1070 if constexpr (AllowTag) {
1071 downcast_call_tag<businessConnection> type_tag;
1072 func(type_tag);
1073 } else {
1074 func(static_cast<businessConnection &>(*obj));
1075 }
1076 return true;
1077 case businessFeatureLocation::ID:
1078 if constexpr (AllowTag) {
1079 downcast_call_tag<businessFeatureLocation> type_tag;
1080 func(type_tag);
1081 } else {
1082 func(static_cast<businessFeatureLocation &>(*obj));
1083 }
1084 return true;
1085 case businessFeatureOpeningHours::ID:
1086 if constexpr (AllowTag) {
1087 downcast_call_tag<businessFeatureOpeningHours> type_tag;
1088 func(type_tag);
1089 } else {
1090 func(static_cast<businessFeatureOpeningHours &>(*obj));
1091 }
1092 return true;
1093 case businessFeatureQuickReplies::ID:
1094 if constexpr (AllowTag) {
1095 downcast_call_tag<businessFeatureQuickReplies> type_tag;
1096 func(type_tag);
1097 } else {
1098 func(static_cast<businessFeatureQuickReplies &>(*obj));
1099 }
1100 return true;
1101 case businessFeatureGreetingMessage::ID:
1102 if constexpr (AllowTag) {
1103 downcast_call_tag<businessFeatureGreetingMessage> type_tag;
1104 func(type_tag);
1105 } else {
1106 func(static_cast<businessFeatureGreetingMessage &>(*obj));
1107 }
1108 return true;
1109 case businessFeatureAwayMessage::ID:
1110 if constexpr (AllowTag) {
1111 downcast_call_tag<businessFeatureAwayMessage> type_tag;
1112 func(type_tag);
1113 } else {
1114 func(static_cast<businessFeatureAwayMessage &>(*obj));
1115 }
1116 return true;
1117 case businessFeatureAccountLinks::ID:
1118 if constexpr (AllowTag) {
1119 downcast_call_tag<businessFeatureAccountLinks> type_tag;
1120 func(type_tag);
1121 } else {
1122 func(static_cast<businessFeatureAccountLinks &>(*obj));
1123 }
1124 return true;
1125 case businessFeatureStartPage::ID:
1126 if constexpr (AllowTag) {
1127 downcast_call_tag<businessFeatureStartPage> type_tag;
1128 func(type_tag);
1129 } else {
1130 func(static_cast<businessFeatureStartPage &>(*obj));
1131 }
1132 return true;
1133 case businessFeatureBots::ID:
1134 if constexpr (AllowTag) {
1135 downcast_call_tag<businessFeatureBots> type_tag;
1136 func(type_tag);
1137 } else {
1138 func(static_cast<businessFeatureBots &>(*obj));
1139 }
1140 return true;
1141 case businessFeatureEmojiStatus::ID:
1142 if constexpr (AllowTag) {
1143 downcast_call_tag<businessFeatureEmojiStatus> type_tag;
1144 func(type_tag);
1145 } else {
1146 func(static_cast<businessFeatureEmojiStatus &>(*obj));
1147 }
1148 return true;
1149 case businessFeatureChatFolderTags::ID:
1150 if constexpr (AllowTag) {
1151 downcast_call_tag<businessFeatureChatFolderTags> type_tag;
1152 func(type_tag);
1153 } else {
1154 func(static_cast<businessFeatureChatFolderTags &>(*obj));
1155 }
1156 return true;
1157 case businessFeatureUpgradedStories::ID:
1158 if constexpr (AllowTag) {
1159 downcast_call_tag<businessFeatureUpgradedStories> type_tag;
1160 func(type_tag);
1161 } else {
1162 func(static_cast<businessFeatureUpgradedStories &>(*obj));
1163 }
1164 return true;
1165 case businessFeaturePromotionAnimation::ID:
1166 if constexpr (AllowTag) {
1167 downcast_call_tag<businessFeaturePromotionAnimation> type_tag;
1168 func(type_tag);
1169 } else {
1170 func(static_cast<businessFeaturePromotionAnimation &>(*obj));
1171 }
1172 return true;
1173 case businessFeatures::ID:
1174 if constexpr (AllowTag) {
1175 downcast_call_tag<businessFeatures> type_tag;
1176 func(type_tag);
1177 } else {
1178 func(static_cast<businessFeatures &>(*obj));
1179 }
1180 return true;
1181 case businessGreetingMessageSettings::ID:
1182 if constexpr (AllowTag) {
1183 downcast_call_tag<businessGreetingMessageSettings> type_tag;
1184 func(type_tag);
1185 } else {
1186 func(static_cast<businessGreetingMessageSettings &>(*obj));
1187 }
1188 return true;
1189 case businessInfo::ID:
1190 if constexpr (AllowTag) {
1191 downcast_call_tag<businessInfo> type_tag;
1192 func(type_tag);
1193 } else {
1194 func(static_cast<businessInfo &>(*obj));
1195 }
1196 return true;
1197 case businessLocation::ID:
1198 if constexpr (AllowTag) {
1199 downcast_call_tag<businessLocation> type_tag;
1200 func(type_tag);
1201 } else {
1202 func(static_cast<businessLocation &>(*obj));
1203 }
1204 return true;
1205 case businessMessage::ID:
1206 if constexpr (AllowTag) {
1207 downcast_call_tag<businessMessage> type_tag;
1208 func(type_tag);
1209 } else {
1210 func(static_cast<businessMessage &>(*obj));
1211 }
1212 return true;
1213 case businessMessages::ID:
1214 if constexpr (AllowTag) {
1215 downcast_call_tag<businessMessages> type_tag;
1216 func(type_tag);
1217 } else {
1218 func(static_cast<businessMessages &>(*obj));
1219 }
1220 return true;
1221 case businessOpeningHours::ID:
1222 if constexpr (AllowTag) {
1223 downcast_call_tag<businessOpeningHours> type_tag;
1224 func(type_tag);
1225 } else {
1226 func(static_cast<businessOpeningHours &>(*obj));
1227 }
1228 return true;
1229 case businessOpeningHoursInterval::ID:
1230 if constexpr (AllowTag) {
1231 downcast_call_tag<businessOpeningHoursInterval> type_tag;
1232 func(type_tag);
1233 } else {
1234 func(static_cast<businessOpeningHoursInterval &>(*obj));
1235 }
1236 return true;
1237 case businessRecipients::ID:
1238 if constexpr (AllowTag) {
1239 downcast_call_tag<businessRecipients> type_tag;
1240 func(type_tag);
1241 } else {
1242 func(static_cast<businessRecipients &>(*obj));
1243 }
1244 return true;
1245 case businessStartPage::ID:
1246 if constexpr (AllowTag) {
1247 downcast_call_tag<businessStartPage> type_tag;
1248 func(type_tag);
1249 } else {
1250 func(static_cast<businessStartPage &>(*obj));
1251 }
1252 return true;
1253 case buttonStyleDefault::ID:
1254 if constexpr (AllowTag) {
1255 downcast_call_tag<buttonStyleDefault> type_tag;
1256 func(type_tag);
1257 } else {
1258 func(static_cast<buttonStyleDefault &>(*obj));
1259 }
1260 return true;
1261 case buttonStylePrimary::ID:
1262 if constexpr (AllowTag) {
1263 downcast_call_tag<buttonStylePrimary> type_tag;
1264 func(type_tag);
1265 } else {
1266 func(static_cast<buttonStylePrimary &>(*obj));
1267 }
1268 return true;
1269 case buttonStyleDanger::ID:
1270 if constexpr (AllowTag) {
1271 downcast_call_tag<buttonStyleDanger> type_tag;
1272 func(type_tag);
1273 } else {
1274 func(static_cast<buttonStyleDanger &>(*obj));
1275 }
1276 return true;
1277 case buttonStyleSuccess::ID:
1278 if constexpr (AllowTag) {
1279 downcast_call_tag<buttonStyleSuccess> type_tag;
1280 func(type_tag);
1281 } else {
1282 func(static_cast<buttonStyleSuccess &>(*obj));
1283 }
1284 return true;
1285 case call::ID:
1286 if constexpr (AllowTag) {
1287 downcast_call_tag<call> type_tag;
1288 func(type_tag);
1289 } else {
1290 func(static_cast<call &>(*obj));
1291 }
1292 return true;
1293 case callDiscardReasonEmpty::ID:
1294 if constexpr (AllowTag) {
1295 downcast_call_tag<callDiscardReasonEmpty> type_tag;
1296 func(type_tag);
1297 } else {
1298 func(static_cast<callDiscardReasonEmpty &>(*obj));
1299 }
1300 return true;
1301 case callDiscardReasonMissed::ID:
1302 if constexpr (AllowTag) {
1303 downcast_call_tag<callDiscardReasonMissed> type_tag;
1304 func(type_tag);
1305 } else {
1306 func(static_cast<callDiscardReasonMissed &>(*obj));
1307 }
1308 return true;
1309 case callDiscardReasonDeclined::ID:
1310 if constexpr (AllowTag) {
1311 downcast_call_tag<callDiscardReasonDeclined> type_tag;
1312 func(type_tag);
1313 } else {
1314 func(static_cast<callDiscardReasonDeclined &>(*obj));
1315 }
1316 return true;
1317 case callDiscardReasonDisconnected::ID:
1318 if constexpr (AllowTag) {
1319 downcast_call_tag<callDiscardReasonDisconnected> type_tag;
1320 func(type_tag);
1321 } else {
1322 func(static_cast<callDiscardReasonDisconnected &>(*obj));
1323 }
1324 return true;
1325 case callDiscardReasonHungUp::ID:
1326 if constexpr (AllowTag) {
1327 downcast_call_tag<callDiscardReasonHungUp> type_tag;
1328 func(type_tag);
1329 } else {
1330 func(static_cast<callDiscardReasonHungUp &>(*obj));
1331 }
1332 return true;
1333 case callDiscardReasonUpgradeToGroupCall::ID:
1334 if constexpr (AllowTag) {
1335 downcast_call_tag<callDiscardReasonUpgradeToGroupCall> type_tag;
1336 func(type_tag);
1337 } else {
1338 func(static_cast<callDiscardReasonUpgradeToGroupCall &>(*obj));
1339 }
1340 return true;
1341 case callId::ID:
1342 if constexpr (AllowTag) {
1343 downcast_call_tag<callId> type_tag;
1344 func(type_tag);
1345 } else {
1346 func(static_cast<callId &>(*obj));
1347 }
1348 return true;
1349 case callProblemEcho::ID:
1350 if constexpr (AllowTag) {
1351 downcast_call_tag<callProblemEcho> type_tag;
1352 func(type_tag);
1353 } else {
1354 func(static_cast<callProblemEcho &>(*obj));
1355 }
1356 return true;
1357 case callProblemNoise::ID:
1358 if constexpr (AllowTag) {
1359 downcast_call_tag<callProblemNoise> type_tag;
1360 func(type_tag);
1361 } else {
1362 func(static_cast<callProblemNoise &>(*obj));
1363 }
1364 return true;
1365 case callProblemInterruptions::ID:
1366 if constexpr (AllowTag) {
1367 downcast_call_tag<callProblemInterruptions> type_tag;
1368 func(type_tag);
1369 } else {
1370 func(static_cast<callProblemInterruptions &>(*obj));
1371 }
1372 return true;
1373 case callProblemDistortedSpeech::ID:
1374 if constexpr (AllowTag) {
1375 downcast_call_tag<callProblemDistortedSpeech> type_tag;
1376 func(type_tag);
1377 } else {
1378 func(static_cast<callProblemDistortedSpeech &>(*obj));
1379 }
1380 return true;
1381 case callProblemSilentLocal::ID:
1382 if constexpr (AllowTag) {
1383 downcast_call_tag<callProblemSilentLocal> type_tag;
1384 func(type_tag);
1385 } else {
1386 func(static_cast<callProblemSilentLocal &>(*obj));
1387 }
1388 return true;
1389 case callProblemSilentRemote::ID:
1390 if constexpr (AllowTag) {
1391 downcast_call_tag<callProblemSilentRemote> type_tag;
1392 func(type_tag);
1393 } else {
1394 func(static_cast<callProblemSilentRemote &>(*obj));
1395 }
1396 return true;
1397 case callProblemDropped::ID:
1398 if constexpr (AllowTag) {
1399 downcast_call_tag<callProblemDropped> type_tag;
1400 func(type_tag);
1401 } else {
1402 func(static_cast<callProblemDropped &>(*obj));
1403 }
1404 return true;
1405 case callProblemDistortedVideo::ID:
1406 if constexpr (AllowTag) {
1407 downcast_call_tag<callProblemDistortedVideo> type_tag;
1408 func(type_tag);
1409 } else {
1410 func(static_cast<callProblemDistortedVideo &>(*obj));
1411 }
1412 return true;
1413 case callProblemPixelatedVideo::ID:
1414 if constexpr (AllowTag) {
1415 downcast_call_tag<callProblemPixelatedVideo> type_tag;
1416 func(type_tag);
1417 } else {
1418 func(static_cast<callProblemPixelatedVideo &>(*obj));
1419 }
1420 return true;
1421 case callProtocol::ID:
1422 if constexpr (AllowTag) {
1423 downcast_call_tag<callProtocol> type_tag;
1424 func(type_tag);
1425 } else {
1426 func(static_cast<callProtocol &>(*obj));
1427 }
1428 return true;
1429 case callServer::ID:
1430 if constexpr (AllowTag) {
1431 downcast_call_tag<callServer> type_tag;
1432 func(type_tag);
1433 } else {
1434 func(static_cast<callServer &>(*obj));
1435 }
1436 return true;
1437 case callServerTypeTelegramReflector::ID:
1438 if constexpr (AllowTag) {
1439 downcast_call_tag<callServerTypeTelegramReflector> type_tag;
1440 func(type_tag);
1441 } else {
1442 func(static_cast<callServerTypeTelegramReflector &>(*obj));
1443 }
1444 return true;
1445 case callServerTypeWebrtc::ID:
1446 if constexpr (AllowTag) {
1447 downcast_call_tag<callServerTypeWebrtc> type_tag;
1448 func(type_tag);
1449 } else {
1450 func(static_cast<callServerTypeWebrtc &>(*obj));
1451 }
1452 return true;
1453 case callStatePending::ID:
1454 if constexpr (AllowTag) {
1455 downcast_call_tag<callStatePending> type_tag;
1456 func(type_tag);
1457 } else {
1458 func(static_cast<callStatePending &>(*obj));
1459 }
1460 return true;
1461 case callStateExchangingKeys::ID:
1462 if constexpr (AllowTag) {
1463 downcast_call_tag<callStateExchangingKeys> type_tag;
1464 func(type_tag);
1465 } else {
1466 func(static_cast<callStateExchangingKeys &>(*obj));
1467 }
1468 return true;
1469 case callStateReady::ID:
1470 if constexpr (AllowTag) {
1471 downcast_call_tag<callStateReady> type_tag;
1472 func(type_tag);
1473 } else {
1474 func(static_cast<callStateReady &>(*obj));
1475 }
1476 return true;
1477 case callStateHangingUp::ID:
1478 if constexpr (AllowTag) {
1479 downcast_call_tag<callStateHangingUp> type_tag;
1480 func(type_tag);
1481 } else {
1482 func(static_cast<callStateHangingUp &>(*obj));
1483 }
1484 return true;
1485 case callStateDiscarded::ID:
1486 if constexpr (AllowTag) {
1487 downcast_call_tag<callStateDiscarded> type_tag;
1488 func(type_tag);
1489 } else {
1490 func(static_cast<callStateDiscarded &>(*obj));
1491 }
1492 return true;
1493 case callStateError::ID:
1494 if constexpr (AllowTag) {
1495 downcast_call_tag<callStateError> type_tag;
1496 func(type_tag);
1497 } else {
1498 func(static_cast<callStateError &>(*obj));
1499 }
1500 return true;
1501 case callbackQueryAnswer::ID:
1502 if constexpr (AllowTag) {
1503 downcast_call_tag<callbackQueryAnswer> type_tag;
1504 func(type_tag);
1505 } else {
1506 func(static_cast<callbackQueryAnswer &>(*obj));
1507 }
1508 return true;
1509 case callbackQueryPayloadData::ID:
1510 if constexpr (AllowTag) {
1511 downcast_call_tag<callbackQueryPayloadData> type_tag;
1512 func(type_tag);
1513 } else {
1514 func(static_cast<callbackQueryPayloadData &>(*obj));
1515 }
1516 return true;
1517 case callbackQueryPayloadDataWithPassword::ID:
1518 if constexpr (AllowTag) {
1519 downcast_call_tag<callbackQueryPayloadDataWithPassword> type_tag;
1520 func(type_tag);
1521 } else {
1522 func(static_cast<callbackQueryPayloadDataWithPassword &>(*obj));
1523 }
1524 return true;
1525 case callbackQueryPayloadGame::ID:
1526 if constexpr (AllowTag) {
1527 downcast_call_tag<callbackQueryPayloadGame> type_tag;
1528 func(type_tag);
1529 } else {
1530 func(static_cast<callbackQueryPayloadGame &>(*obj));
1531 }
1532 return true;
1533 case canPostStoryResultOk::ID:
1534 if constexpr (AllowTag) {
1535 downcast_call_tag<canPostStoryResultOk> type_tag;
1536 func(type_tag);
1537 } else {
1538 func(static_cast<canPostStoryResultOk &>(*obj));
1539 }
1540 return true;
1541 case canPostStoryResultPremiumNeeded::ID:
1542 if constexpr (AllowTag) {
1543 downcast_call_tag<canPostStoryResultPremiumNeeded> type_tag;
1544 func(type_tag);
1545 } else {
1546 func(static_cast<canPostStoryResultPremiumNeeded &>(*obj));
1547 }
1548 return true;
1549 case canPostStoryResultBoostNeeded::ID:
1550 if constexpr (AllowTag) {
1551 downcast_call_tag<canPostStoryResultBoostNeeded> type_tag;
1552 func(type_tag);
1553 } else {
1554 func(static_cast<canPostStoryResultBoostNeeded &>(*obj));
1555 }
1556 return true;
1557 case canPostStoryResultActiveStoryLimitExceeded::ID:
1558 if constexpr (AllowTag) {
1559 downcast_call_tag<canPostStoryResultActiveStoryLimitExceeded> type_tag;
1560 func(type_tag);
1561 } else {
1562 func(static_cast<canPostStoryResultActiveStoryLimitExceeded &>(*obj));
1563 }
1564 return true;
1565 case canPostStoryResultWeeklyLimitExceeded::ID:
1566 if constexpr (AllowTag) {
1567 downcast_call_tag<canPostStoryResultWeeklyLimitExceeded> type_tag;
1568 func(type_tag);
1569 } else {
1570 func(static_cast<canPostStoryResultWeeklyLimitExceeded &>(*obj));
1571 }
1572 return true;
1573 case canPostStoryResultMonthlyLimitExceeded::ID:
1574 if constexpr (AllowTag) {
1575 downcast_call_tag<canPostStoryResultMonthlyLimitExceeded> type_tag;
1576 func(type_tag);
1577 } else {
1578 func(static_cast<canPostStoryResultMonthlyLimitExceeded &>(*obj));
1579 }
1580 return true;
1581 case canPostStoryResultLiveStoryIsActive::ID:
1582 if constexpr (AllowTag) {
1583 downcast_call_tag<canPostStoryResultLiveStoryIsActive> type_tag;
1584 func(type_tag);
1585 } else {
1586 func(static_cast<canPostStoryResultLiveStoryIsActive &>(*obj));
1587 }
1588 return true;
1589 case canSendGiftResultOk::ID:
1590 if constexpr (AllowTag) {
1591 downcast_call_tag<canSendGiftResultOk> type_tag;
1592 func(type_tag);
1593 } else {
1594 func(static_cast<canSendGiftResultOk &>(*obj));
1595 }
1596 return true;
1597 case canSendGiftResultFail::ID:
1598 if constexpr (AllowTag) {
1599 downcast_call_tag<canSendGiftResultFail> type_tag;
1600 func(type_tag);
1601 } else {
1602 func(static_cast<canSendGiftResultFail &>(*obj));
1603 }
1604 return true;
1605 case canSendMessageToUserResultOk::ID:
1606 if constexpr (AllowTag) {
1607 downcast_call_tag<canSendMessageToUserResultOk> type_tag;
1608 func(type_tag);
1609 } else {
1610 func(static_cast<canSendMessageToUserResultOk &>(*obj));
1611 }
1612 return true;
1613 case canSendMessageToUserResultUserHasPaidMessages::ID:
1614 if constexpr (AllowTag) {
1615 downcast_call_tag<canSendMessageToUserResultUserHasPaidMessages> type_tag;
1616 func(type_tag);
1617 } else {
1618 func(static_cast<canSendMessageToUserResultUserHasPaidMessages &>(*obj));
1619 }
1620 return true;
1621 case canSendMessageToUserResultUserIsDeleted::ID:
1622 if constexpr (AllowTag) {
1623 downcast_call_tag<canSendMessageToUserResultUserIsDeleted> type_tag;
1624 func(type_tag);
1625 } else {
1626 func(static_cast<canSendMessageToUserResultUserIsDeleted &>(*obj));
1627 }
1628 return true;
1629 case canSendMessageToUserResultUserRestrictsNewChats::ID:
1630 if constexpr (AllowTag) {
1631 downcast_call_tag<canSendMessageToUserResultUserRestrictsNewChats> type_tag;
1632 func(type_tag);
1633 } else {
1634 func(static_cast<canSendMessageToUserResultUserRestrictsNewChats &>(*obj));
1635 }
1636 return true;
1637 case canTransferOwnershipResultOk::ID:
1638 if constexpr (AllowTag) {
1639 downcast_call_tag<canTransferOwnershipResultOk> type_tag;
1640 func(type_tag);
1641 } else {
1642 func(static_cast<canTransferOwnershipResultOk &>(*obj));
1643 }
1644 return true;
1645 case canTransferOwnershipResultPasswordNeeded::ID:
1646 if constexpr (AllowTag) {
1647 downcast_call_tag<canTransferOwnershipResultPasswordNeeded> type_tag;
1648 func(type_tag);
1649 } else {
1650 func(static_cast<canTransferOwnershipResultPasswordNeeded &>(*obj));
1651 }
1652 return true;
1653 case canTransferOwnershipResultPasswordTooFresh::ID:
1654 if constexpr (AllowTag) {
1655 downcast_call_tag<canTransferOwnershipResultPasswordTooFresh> type_tag;
1656 func(type_tag);
1657 } else {
1658 func(static_cast<canTransferOwnershipResultPasswordTooFresh &>(*obj));
1659 }
1660 return true;
1661 case canTransferOwnershipResultSessionTooFresh::ID:
1662 if constexpr (AllowTag) {
1663 downcast_call_tag<canTransferOwnershipResultSessionTooFresh> type_tag;
1664 func(type_tag);
1665 } else {
1666 func(static_cast<canTransferOwnershipResultSessionTooFresh &>(*obj));
1667 }
1668 return true;
1669 case chat::ID:
1670 if constexpr (AllowTag) {
1671 downcast_call_tag<chat> type_tag;
1672 func(type_tag);
1673 } else {
1674 func(static_cast<chat &>(*obj));
1675 }
1676 return true;
1677 case chatActionTyping::ID:
1678 if constexpr (AllowTag) {
1679 downcast_call_tag<chatActionTyping> type_tag;
1680 func(type_tag);
1681 } else {
1682 func(static_cast<chatActionTyping &>(*obj));
1683 }
1684 return true;
1685 case chatActionRecordingVideo::ID:
1686 if constexpr (AllowTag) {
1687 downcast_call_tag<chatActionRecordingVideo> type_tag;
1688 func(type_tag);
1689 } else {
1690 func(static_cast<chatActionRecordingVideo &>(*obj));
1691 }
1692 return true;
1693 case chatActionUploadingVideo::ID:
1694 if constexpr (AllowTag) {
1695 downcast_call_tag<chatActionUploadingVideo> type_tag;
1696 func(type_tag);
1697 } else {
1698 func(static_cast<chatActionUploadingVideo &>(*obj));
1699 }
1700 return true;
1701 case chatActionRecordingVoiceNote::ID:
1702 if constexpr (AllowTag) {
1703 downcast_call_tag<chatActionRecordingVoiceNote> type_tag;
1704 func(type_tag);
1705 } else {
1706 func(static_cast<chatActionRecordingVoiceNote &>(*obj));
1707 }
1708 return true;
1709 case chatActionUploadingVoiceNote::ID:
1710 if constexpr (AllowTag) {
1711 downcast_call_tag<chatActionUploadingVoiceNote> type_tag;
1712 func(type_tag);
1713 } else {
1714 func(static_cast<chatActionUploadingVoiceNote &>(*obj));
1715 }
1716 return true;
1717 case chatActionUploadingPhoto::ID:
1718 if constexpr (AllowTag) {
1719 downcast_call_tag<chatActionUploadingPhoto> type_tag;
1720 func(type_tag);
1721 } else {
1722 func(static_cast<chatActionUploadingPhoto &>(*obj));
1723 }
1724 return true;
1725 case chatActionUploadingDocument::ID:
1726 if constexpr (AllowTag) {
1727 downcast_call_tag<chatActionUploadingDocument> type_tag;
1728 func(type_tag);
1729 } else {
1730 func(static_cast<chatActionUploadingDocument &>(*obj));
1731 }
1732 return true;
1733 case chatActionChoosingSticker::ID:
1734 if constexpr (AllowTag) {
1735 downcast_call_tag<chatActionChoosingSticker> type_tag;
1736 func(type_tag);
1737 } else {
1738 func(static_cast<chatActionChoosingSticker &>(*obj));
1739 }
1740 return true;
1741 case chatActionChoosingLocation::ID:
1742 if constexpr (AllowTag) {
1743 downcast_call_tag<chatActionChoosingLocation> type_tag;
1744 func(type_tag);
1745 } else {
1746 func(static_cast<chatActionChoosingLocation &>(*obj));
1747 }
1748 return true;
1749 case chatActionChoosingContact::ID:
1750 if constexpr (AllowTag) {
1751 downcast_call_tag<chatActionChoosingContact> type_tag;
1752 func(type_tag);
1753 } else {
1754 func(static_cast<chatActionChoosingContact &>(*obj));
1755 }
1756 return true;
1757 case chatActionStartPlayingGame::ID:
1758 if constexpr (AllowTag) {
1759 downcast_call_tag<chatActionStartPlayingGame> type_tag;
1760 func(type_tag);
1761 } else {
1762 func(static_cast<chatActionStartPlayingGame &>(*obj));
1763 }
1764 return true;
1765 case chatActionRecordingVideoNote::ID:
1766 if constexpr (AllowTag) {
1767 downcast_call_tag<chatActionRecordingVideoNote> type_tag;
1768 func(type_tag);
1769 } else {
1770 func(static_cast<chatActionRecordingVideoNote &>(*obj));
1771 }
1772 return true;
1773 case chatActionUploadingVideoNote::ID:
1774 if constexpr (AllowTag) {
1775 downcast_call_tag<chatActionUploadingVideoNote> type_tag;
1776 func(type_tag);
1777 } else {
1778 func(static_cast<chatActionUploadingVideoNote &>(*obj));
1779 }
1780 return true;
1781 case chatActionWatchingAnimations::ID:
1782 if constexpr (AllowTag) {
1783 downcast_call_tag<chatActionWatchingAnimations> type_tag;
1784 func(type_tag);
1785 } else {
1786 func(static_cast<chatActionWatchingAnimations &>(*obj));
1787 }
1788 return true;
1789 case chatActionCancel::ID:
1790 if constexpr (AllowTag) {
1791 downcast_call_tag<chatActionCancel> type_tag;
1792 func(type_tag);
1793 } else {
1794 func(static_cast<chatActionCancel &>(*obj));
1795 }
1796 return true;
1797 case chatActionBarReportSpam::ID:
1798 if constexpr (AllowTag) {
1799 downcast_call_tag<chatActionBarReportSpam> type_tag;
1800 func(type_tag);
1801 } else {
1802 func(static_cast<chatActionBarReportSpam &>(*obj));
1803 }
1804 return true;
1805 case chatActionBarInviteMembers::ID:
1806 if constexpr (AllowTag) {
1807 downcast_call_tag<chatActionBarInviteMembers> type_tag;
1808 func(type_tag);
1809 } else {
1810 func(static_cast<chatActionBarInviteMembers &>(*obj));
1811 }
1812 return true;
1813 case chatActionBarReportAddBlock::ID:
1814 if constexpr (AllowTag) {
1815 downcast_call_tag<chatActionBarReportAddBlock> type_tag;
1816 func(type_tag);
1817 } else {
1818 func(static_cast<chatActionBarReportAddBlock &>(*obj));
1819 }
1820 return true;
1821 case chatActionBarAddContact::ID:
1822 if constexpr (AllowTag) {
1823 downcast_call_tag<chatActionBarAddContact> type_tag;
1824 func(type_tag);
1825 } else {
1826 func(static_cast<chatActionBarAddContact &>(*obj));
1827 }
1828 return true;
1829 case chatActionBarSharePhoneNumber::ID:
1830 if constexpr (AllowTag) {
1831 downcast_call_tag<chatActionBarSharePhoneNumber> type_tag;
1832 func(type_tag);
1833 } else {
1834 func(static_cast<chatActionBarSharePhoneNumber &>(*obj));
1835 }
1836 return true;
1837 case chatActionBarJoinRequest::ID:
1838 if constexpr (AllowTag) {
1839 downcast_call_tag<chatActionBarJoinRequest> type_tag;
1840 func(type_tag);
1841 } else {
1842 func(static_cast<chatActionBarJoinRequest &>(*obj));
1843 }
1844 return true;
1845 case chatActiveStories::ID:
1846 if constexpr (AllowTag) {
1847 downcast_call_tag<chatActiveStories> type_tag;
1848 func(type_tag);
1849 } else {
1850 func(static_cast<chatActiveStories &>(*obj));
1851 }
1852 return true;
1853 case chatAdministrator::ID:
1854 if constexpr (AllowTag) {
1855 downcast_call_tag<chatAdministrator> type_tag;
1856 func(type_tag);
1857 } else {
1858 func(static_cast<chatAdministrator &>(*obj));
1859 }
1860 return true;
1861 case chatAdministratorRights::ID:
1862 if constexpr (AllowTag) {
1863 downcast_call_tag<chatAdministratorRights> type_tag;
1864 func(type_tag);
1865 } else {
1866 func(static_cast<chatAdministratorRights &>(*obj));
1867 }
1868 return true;
1869 case chatAdministrators::ID:
1870 if constexpr (AllowTag) {
1871 downcast_call_tag<chatAdministrators> type_tag;
1872 func(type_tag);
1873 } else {
1874 func(static_cast<chatAdministrators &>(*obj));
1875 }
1876 return true;
1877 case chatAvailableReactionsAll::ID:
1878 if constexpr (AllowTag) {
1879 downcast_call_tag<chatAvailableReactionsAll> type_tag;
1880 func(type_tag);
1881 } else {
1882 func(static_cast<chatAvailableReactionsAll &>(*obj));
1883 }
1884 return true;
1885 case chatAvailableReactionsSome::ID:
1886 if constexpr (AllowTag) {
1887 downcast_call_tag<chatAvailableReactionsSome> type_tag;
1888 func(type_tag);
1889 } else {
1890 func(static_cast<chatAvailableReactionsSome &>(*obj));
1891 }
1892 return true;
1893 case chatBackground::ID:
1894 if constexpr (AllowTag) {
1895 downcast_call_tag<chatBackground> type_tag;
1896 func(type_tag);
1897 } else {
1898 func(static_cast<chatBackground &>(*obj));
1899 }
1900 return true;
1901 case chatBoost::ID:
1902 if constexpr (AllowTag) {
1903 downcast_call_tag<chatBoost> type_tag;
1904 func(type_tag);
1905 } else {
1906 func(static_cast<chatBoost &>(*obj));
1907 }
1908 return true;
1909 case chatBoostFeatures::ID:
1910 if constexpr (AllowTag) {
1911 downcast_call_tag<chatBoostFeatures> type_tag;
1912 func(type_tag);
1913 } else {
1914 func(static_cast<chatBoostFeatures &>(*obj));
1915 }
1916 return true;
1917 case chatBoostLevelFeatures::ID:
1918 if constexpr (AllowTag) {
1919 downcast_call_tag<chatBoostLevelFeatures> type_tag;
1920 func(type_tag);
1921 } else {
1922 func(static_cast<chatBoostLevelFeatures &>(*obj));
1923 }
1924 return true;
1925 case chatBoostLink::ID:
1926 if constexpr (AllowTag) {
1927 downcast_call_tag<chatBoostLink> type_tag;
1928 func(type_tag);
1929 } else {
1930 func(static_cast<chatBoostLink &>(*obj));
1931 }
1932 return true;
1933 case chatBoostLinkInfo::ID:
1934 if constexpr (AllowTag) {
1935 downcast_call_tag<chatBoostLinkInfo> type_tag;
1936 func(type_tag);
1937 } else {
1938 func(static_cast<chatBoostLinkInfo &>(*obj));
1939 }
1940 return true;
1941 case chatBoostSlot::ID:
1942 if constexpr (AllowTag) {
1943 downcast_call_tag<chatBoostSlot> type_tag;
1944 func(type_tag);
1945 } else {
1946 func(static_cast<chatBoostSlot &>(*obj));
1947 }
1948 return true;
1949 case chatBoostSlots::ID:
1950 if constexpr (AllowTag) {
1951 downcast_call_tag<chatBoostSlots> type_tag;
1952 func(type_tag);
1953 } else {
1954 func(static_cast<chatBoostSlots &>(*obj));
1955 }
1956 return true;
1957 case chatBoostSourceGiftCode::ID:
1958 if constexpr (AllowTag) {
1959 downcast_call_tag<chatBoostSourceGiftCode> type_tag;
1960 func(type_tag);
1961 } else {
1962 func(static_cast<chatBoostSourceGiftCode &>(*obj));
1963 }
1964 return true;
1965 case chatBoostSourceGiveaway::ID:
1966 if constexpr (AllowTag) {
1967 downcast_call_tag<chatBoostSourceGiveaway> type_tag;
1968 func(type_tag);
1969 } else {
1970 func(static_cast<chatBoostSourceGiveaway &>(*obj));
1971 }
1972 return true;
1973 case chatBoostSourcePremium::ID:
1974 if constexpr (AllowTag) {
1975 downcast_call_tag<chatBoostSourcePremium> type_tag;
1976 func(type_tag);
1977 } else {
1978 func(static_cast<chatBoostSourcePremium &>(*obj));
1979 }
1980 return true;
1981 case chatBoostStatus::ID:
1982 if constexpr (AllowTag) {
1983 downcast_call_tag<chatBoostStatus> type_tag;
1984 func(type_tag);
1985 } else {
1986 func(static_cast<chatBoostStatus &>(*obj));
1987 }
1988 return true;
1989 case chatEvent::ID:
1990 if constexpr (AllowTag) {
1991 downcast_call_tag<chatEvent> type_tag;
1992 func(type_tag);
1993 } else {
1994 func(static_cast<chatEvent &>(*obj));
1995 }
1996 return true;
1997 case chatEventMessageEdited::ID:
1998 if constexpr (AllowTag) {
1999 downcast_call_tag<chatEventMessageEdited> type_tag;
2000 func(type_tag);
2001 } else {
2002 func(static_cast<chatEventMessageEdited &>(*obj));
2003 }
2004 return true;
2005 case chatEventMessageDeleted::ID:
2006 if constexpr (AllowTag) {
2007 downcast_call_tag<chatEventMessageDeleted> type_tag;
2008 func(type_tag);
2009 } else {
2010 func(static_cast<chatEventMessageDeleted &>(*obj));
2011 }
2012 return true;
2013 case chatEventMessagePinned::ID:
2014 if constexpr (AllowTag) {
2015 downcast_call_tag<chatEventMessagePinned> type_tag;
2016 func(type_tag);
2017 } else {
2018 func(static_cast<chatEventMessagePinned &>(*obj));
2019 }
2020 return true;
2021 case chatEventMessageUnpinned::ID:
2022 if constexpr (AllowTag) {
2023 downcast_call_tag<chatEventMessageUnpinned> type_tag;
2024 func(type_tag);
2025 } else {
2026 func(static_cast<chatEventMessageUnpinned &>(*obj));
2027 }
2028 return true;
2029 case chatEventPollStopped::ID:
2030 if constexpr (AllowTag) {
2031 downcast_call_tag<chatEventPollStopped> type_tag;
2032 func(type_tag);
2033 } else {
2034 func(static_cast<chatEventPollStopped &>(*obj));
2035 }
2036 return true;
2037 case chatEventMemberJoined::ID:
2038 if constexpr (AllowTag) {
2039 downcast_call_tag<chatEventMemberJoined> type_tag;
2040 func(type_tag);
2041 } else {
2042 func(static_cast<chatEventMemberJoined &>(*obj));
2043 }
2044 return true;
2045 case chatEventMemberJoinedByInviteLink::ID:
2046 if constexpr (AllowTag) {
2047 downcast_call_tag<chatEventMemberJoinedByInviteLink> type_tag;
2048 func(type_tag);
2049 } else {
2050 func(static_cast<chatEventMemberJoinedByInviteLink &>(*obj));
2051 }
2052 return true;
2053 case chatEventMemberJoinedByRequest::ID:
2054 if constexpr (AllowTag) {
2055 downcast_call_tag<chatEventMemberJoinedByRequest> type_tag;
2056 func(type_tag);
2057 } else {
2058 func(static_cast<chatEventMemberJoinedByRequest &>(*obj));
2059 }
2060 return true;
2061 case chatEventMemberInvited::ID:
2062 if constexpr (AllowTag) {
2063 downcast_call_tag<chatEventMemberInvited> type_tag;
2064 func(type_tag);
2065 } else {
2066 func(static_cast<chatEventMemberInvited &>(*obj));
2067 }
2068 return true;
2069 case chatEventMemberLeft::ID:
2070 if constexpr (AllowTag) {
2071 downcast_call_tag<chatEventMemberLeft> type_tag;
2072 func(type_tag);
2073 } else {
2074 func(static_cast<chatEventMemberLeft &>(*obj));
2075 }
2076 return true;
2077 case chatEventMemberPromoted::ID:
2078 if constexpr (AllowTag) {
2079 downcast_call_tag<chatEventMemberPromoted> type_tag;
2080 func(type_tag);
2081 } else {
2082 func(static_cast<chatEventMemberPromoted &>(*obj));
2083 }
2084 return true;
2085 case chatEventMemberRestricted::ID:
2086 if constexpr (AllowTag) {
2087 downcast_call_tag<chatEventMemberRestricted> type_tag;
2088 func(type_tag);
2089 } else {
2090 func(static_cast<chatEventMemberRestricted &>(*obj));
2091 }
2092 return true;
2093 case chatEventMemberTagChanged::ID:
2094 if constexpr (AllowTag) {
2095 downcast_call_tag<chatEventMemberTagChanged> type_tag;
2096 func(type_tag);
2097 } else {
2098 func(static_cast<chatEventMemberTagChanged &>(*obj));
2099 }
2100 return true;
2101 case chatEventMemberSubscriptionExtended::ID:
2102 if constexpr (AllowTag) {
2103 downcast_call_tag<chatEventMemberSubscriptionExtended> type_tag;
2104 func(type_tag);
2105 } else {
2106 func(static_cast<chatEventMemberSubscriptionExtended &>(*obj));
2107 }
2108 return true;
2109 case chatEventAvailableReactionsChanged::ID:
2110 if constexpr (AllowTag) {
2111 downcast_call_tag<chatEventAvailableReactionsChanged> type_tag;
2112 func(type_tag);
2113 } else {
2114 func(static_cast<chatEventAvailableReactionsChanged &>(*obj));
2115 }
2116 return true;
2117 case chatEventBackgroundChanged::ID:
2118 if constexpr (AllowTag) {
2119 downcast_call_tag<chatEventBackgroundChanged> type_tag;
2120 func(type_tag);
2121 } else {
2122 func(static_cast<chatEventBackgroundChanged &>(*obj));
2123 }
2124 return true;
2125 case chatEventDescriptionChanged::ID:
2126 if constexpr (AllowTag) {
2127 downcast_call_tag<chatEventDescriptionChanged> type_tag;
2128 func(type_tag);
2129 } else {
2130 func(static_cast<chatEventDescriptionChanged &>(*obj));
2131 }
2132 return true;
2133 case chatEventEmojiStatusChanged::ID:
2134 if constexpr (AllowTag) {
2135 downcast_call_tag<chatEventEmojiStatusChanged> type_tag;
2136 func(type_tag);
2137 } else {
2138 func(static_cast<chatEventEmojiStatusChanged &>(*obj));
2139 }
2140 return true;
2141 case chatEventLinkedChatChanged::ID:
2142 if constexpr (AllowTag) {
2143 downcast_call_tag<chatEventLinkedChatChanged> type_tag;
2144 func(type_tag);
2145 } else {
2146 func(static_cast<chatEventLinkedChatChanged &>(*obj));
2147 }
2148 return true;
2149 case chatEventLocationChanged::ID:
2150 if constexpr (AllowTag) {
2151 downcast_call_tag<chatEventLocationChanged> type_tag;
2152 func(type_tag);
2153 } else {
2154 func(static_cast<chatEventLocationChanged &>(*obj));
2155 }
2156 return true;
2157 case chatEventMessageAutoDeleteTimeChanged::ID:
2158 if constexpr (AllowTag) {
2159 downcast_call_tag<chatEventMessageAutoDeleteTimeChanged> type_tag;
2160 func(type_tag);
2161 } else {
2162 func(static_cast<chatEventMessageAutoDeleteTimeChanged &>(*obj));
2163 }
2164 return true;
2165 case chatEventPermissionsChanged::ID:
2166 if constexpr (AllowTag) {
2167 downcast_call_tag<chatEventPermissionsChanged> type_tag;
2168 func(type_tag);
2169 } else {
2170 func(static_cast<chatEventPermissionsChanged &>(*obj));
2171 }
2172 return true;
2173 case chatEventPhotoChanged::ID:
2174 if constexpr (AllowTag) {
2175 downcast_call_tag<chatEventPhotoChanged> type_tag;
2176 func(type_tag);
2177 } else {
2178 func(static_cast<chatEventPhotoChanged &>(*obj));
2179 }
2180 return true;
2181 case chatEventSlowModeDelayChanged::ID:
2182 if constexpr (AllowTag) {
2183 downcast_call_tag<chatEventSlowModeDelayChanged> type_tag;
2184 func(type_tag);
2185 } else {
2186 func(static_cast<chatEventSlowModeDelayChanged &>(*obj));
2187 }
2188 return true;
2189 case chatEventStickerSetChanged::ID:
2190 if constexpr (AllowTag) {
2191 downcast_call_tag<chatEventStickerSetChanged> type_tag;
2192 func(type_tag);
2193 } else {
2194 func(static_cast<chatEventStickerSetChanged &>(*obj));
2195 }
2196 return true;
2197 case chatEventCustomEmojiStickerSetChanged::ID:
2198 if constexpr (AllowTag) {
2199 downcast_call_tag<chatEventCustomEmojiStickerSetChanged> type_tag;
2200 func(type_tag);
2201 } else {
2202 func(static_cast<chatEventCustomEmojiStickerSetChanged &>(*obj));
2203 }
2204 return true;
2205 case chatEventTitleChanged::ID:
2206 if constexpr (AllowTag) {
2207 downcast_call_tag<chatEventTitleChanged> type_tag;
2208 func(type_tag);
2209 } else {
2210 func(static_cast<chatEventTitleChanged &>(*obj));
2211 }
2212 return true;
2213 case chatEventUsernameChanged::ID:
2214 if constexpr (AllowTag) {
2215 downcast_call_tag<chatEventUsernameChanged> type_tag;
2216 func(type_tag);
2217 } else {
2218 func(static_cast<chatEventUsernameChanged &>(*obj));
2219 }
2220 return true;
2221 case chatEventActiveUsernamesChanged::ID:
2222 if constexpr (AllowTag) {
2223 downcast_call_tag<chatEventActiveUsernamesChanged> type_tag;
2224 func(type_tag);
2225 } else {
2226 func(static_cast<chatEventActiveUsernamesChanged &>(*obj));
2227 }
2228 return true;
2229 case chatEventAccentColorChanged::ID:
2230 if constexpr (AllowTag) {
2231 downcast_call_tag<chatEventAccentColorChanged> type_tag;
2232 func(type_tag);
2233 } else {
2234 func(static_cast<chatEventAccentColorChanged &>(*obj));
2235 }
2236 return true;
2237 case chatEventProfileAccentColorChanged::ID:
2238 if constexpr (AllowTag) {
2239 downcast_call_tag<chatEventProfileAccentColorChanged> type_tag;
2240 func(type_tag);
2241 } else {
2242 func(static_cast<chatEventProfileAccentColorChanged &>(*obj));
2243 }
2244 return true;
2245 case chatEventHasProtectedContentToggled::ID:
2246 if constexpr (AllowTag) {
2247 downcast_call_tag<chatEventHasProtectedContentToggled> type_tag;
2248 func(type_tag);
2249 } else {
2250 func(static_cast<chatEventHasProtectedContentToggled &>(*obj));
2251 }
2252 return true;
2253 case chatEventInvitesToggled::ID:
2254 if constexpr (AllowTag) {
2255 downcast_call_tag<chatEventInvitesToggled> type_tag;
2256 func(type_tag);
2257 } else {
2258 func(static_cast<chatEventInvitesToggled &>(*obj));
2259 }
2260 return true;
2261 case chatEventIsAllHistoryAvailableToggled::ID:
2262 if constexpr (AllowTag) {
2263 downcast_call_tag<chatEventIsAllHistoryAvailableToggled> type_tag;
2264 func(type_tag);
2265 } else {
2266 func(static_cast<chatEventIsAllHistoryAvailableToggled &>(*obj));
2267 }
2268 return true;
2269 case chatEventHasAggressiveAntiSpamEnabledToggled::ID:
2270 if constexpr (AllowTag) {
2271 downcast_call_tag<chatEventHasAggressiveAntiSpamEnabledToggled> type_tag;
2272 func(type_tag);
2273 } else {
2274 func(static_cast<chatEventHasAggressiveAntiSpamEnabledToggled &>(*obj));
2275 }
2276 return true;
2277 case chatEventSignMessagesToggled::ID:
2278 if constexpr (AllowTag) {
2279 downcast_call_tag<chatEventSignMessagesToggled> type_tag;
2280 func(type_tag);
2281 } else {
2282 func(static_cast<chatEventSignMessagesToggled &>(*obj));
2283 }
2284 return true;
2285 case chatEventShowMessageSenderToggled::ID:
2286 if constexpr (AllowTag) {
2287 downcast_call_tag<chatEventShowMessageSenderToggled> type_tag;
2288 func(type_tag);
2289 } else {
2290 func(static_cast<chatEventShowMessageSenderToggled &>(*obj));
2291 }
2292 return true;
2293 case chatEventAutomaticTranslationToggled::ID:
2294 if constexpr (AllowTag) {
2295 downcast_call_tag<chatEventAutomaticTranslationToggled> type_tag;
2296 func(type_tag);
2297 } else {
2298 func(static_cast<chatEventAutomaticTranslationToggled &>(*obj));
2299 }
2300 return true;
2301 case chatEventInviteLinkEdited::ID:
2302 if constexpr (AllowTag) {
2303 downcast_call_tag<chatEventInviteLinkEdited> type_tag;
2304 func(type_tag);
2305 } else {
2306 func(static_cast<chatEventInviteLinkEdited &>(*obj));
2307 }
2308 return true;
2309 case chatEventInviteLinkRevoked::ID:
2310 if constexpr (AllowTag) {
2311 downcast_call_tag<chatEventInviteLinkRevoked> type_tag;
2312 func(type_tag);
2313 } else {
2314 func(static_cast<chatEventInviteLinkRevoked &>(*obj));
2315 }
2316 return true;
2317 case chatEventInviteLinkDeleted::ID:
2318 if constexpr (AllowTag) {
2319 downcast_call_tag<chatEventInviteLinkDeleted> type_tag;
2320 func(type_tag);
2321 } else {
2322 func(static_cast<chatEventInviteLinkDeleted &>(*obj));
2323 }
2324 return true;
2325 case chatEventVideoChatCreated::ID:
2326 if constexpr (AllowTag) {
2327 downcast_call_tag<chatEventVideoChatCreated> type_tag;
2328 func(type_tag);
2329 } else {
2330 func(static_cast<chatEventVideoChatCreated &>(*obj));
2331 }
2332 return true;
2333 case chatEventVideoChatEnded::ID:
2334 if constexpr (AllowTag) {
2335 downcast_call_tag<chatEventVideoChatEnded> type_tag;
2336 func(type_tag);
2337 } else {
2338 func(static_cast<chatEventVideoChatEnded &>(*obj));
2339 }
2340 return true;
2341 case chatEventVideoChatMuteNewParticipantsToggled::ID:
2342 if constexpr (AllowTag) {
2343 downcast_call_tag<chatEventVideoChatMuteNewParticipantsToggled> type_tag;
2344 func(type_tag);
2345 } else {
2346 func(static_cast<chatEventVideoChatMuteNewParticipantsToggled &>(*obj));
2347 }
2348 return true;
2349 case chatEventVideoChatParticipantIsMutedToggled::ID:
2350 if constexpr (AllowTag) {
2351 downcast_call_tag<chatEventVideoChatParticipantIsMutedToggled> type_tag;
2352 func(type_tag);
2353 } else {
2354 func(static_cast<chatEventVideoChatParticipantIsMutedToggled &>(*obj));
2355 }
2356 return true;
2357 case chatEventVideoChatParticipantVolumeLevelChanged::ID:
2358 if constexpr (AllowTag) {
2359 downcast_call_tag<chatEventVideoChatParticipantVolumeLevelChanged> type_tag;
2360 func(type_tag);
2361 } else {
2362 func(static_cast<chatEventVideoChatParticipantVolumeLevelChanged &>(*obj));
2363 }
2364 return true;
2365 case chatEventIsForumToggled::ID:
2366 if constexpr (AllowTag) {
2367 downcast_call_tag<chatEventIsForumToggled> type_tag;
2368 func(type_tag);
2369 } else {
2370 func(static_cast<chatEventIsForumToggled &>(*obj));
2371 }
2372 return true;
2373 case chatEventForumTopicCreated::ID:
2374 if constexpr (AllowTag) {
2375 downcast_call_tag<chatEventForumTopicCreated> type_tag;
2376 func(type_tag);
2377 } else {
2378 func(static_cast<chatEventForumTopicCreated &>(*obj));
2379 }
2380 return true;
2381 case chatEventForumTopicEdited::ID:
2382 if constexpr (AllowTag) {
2383 downcast_call_tag<chatEventForumTopicEdited> type_tag;
2384 func(type_tag);
2385 } else {
2386 func(static_cast<chatEventForumTopicEdited &>(*obj));
2387 }
2388 return true;
2389 case chatEventForumTopicToggleIsClosed::ID:
2390 if constexpr (AllowTag) {
2391 downcast_call_tag<chatEventForumTopicToggleIsClosed> type_tag;
2392 func(type_tag);
2393 } else {
2394 func(static_cast<chatEventForumTopicToggleIsClosed &>(*obj));
2395 }
2396 return true;
2397 case chatEventForumTopicToggleIsHidden::ID:
2398 if constexpr (AllowTag) {
2399 downcast_call_tag<chatEventForumTopicToggleIsHidden> type_tag;
2400 func(type_tag);
2401 } else {
2402 func(static_cast<chatEventForumTopicToggleIsHidden &>(*obj));
2403 }
2404 return true;
2405 case chatEventForumTopicDeleted::ID:
2406 if constexpr (AllowTag) {
2407 downcast_call_tag<chatEventForumTopicDeleted> type_tag;
2408 func(type_tag);
2409 } else {
2410 func(static_cast<chatEventForumTopicDeleted &>(*obj));
2411 }
2412 return true;
2413 case chatEventForumTopicPinned::ID:
2414 if constexpr (AllowTag) {
2415 downcast_call_tag<chatEventForumTopicPinned> type_tag;
2416 func(type_tag);
2417 } else {
2418 func(static_cast<chatEventForumTopicPinned &>(*obj));
2419 }
2420 return true;
2421 case chatEventLogFilters::ID:
2422 if constexpr (AllowTag) {
2423 downcast_call_tag<chatEventLogFilters> type_tag;
2424 func(type_tag);
2425 } else {
2426 func(static_cast<chatEventLogFilters &>(*obj));
2427 }
2428 return true;
2429 case chatEvents::ID:
2430 if constexpr (AllowTag) {
2431 downcast_call_tag<chatEvents> type_tag;
2432 func(type_tag);
2433 } else {
2434 func(static_cast<chatEvents &>(*obj));
2435 }
2436 return true;
2437 case chatFolder::ID:
2438 if constexpr (AllowTag) {
2439 downcast_call_tag<chatFolder> type_tag;
2440 func(type_tag);
2441 } else {
2442 func(static_cast<chatFolder &>(*obj));
2443 }
2444 return true;
2445 case chatFolderIcon::ID:
2446 if constexpr (AllowTag) {
2447 downcast_call_tag<chatFolderIcon> type_tag;
2448 func(type_tag);
2449 } else {
2450 func(static_cast<chatFolderIcon &>(*obj));
2451 }
2452 return true;
2453 case chatFolderInfo::ID:
2454 if constexpr (AllowTag) {
2455 downcast_call_tag<chatFolderInfo> type_tag;
2456 func(type_tag);
2457 } else {
2458 func(static_cast<chatFolderInfo &>(*obj));
2459 }
2460 return true;
2461 case chatFolderInviteLink::ID:
2462 if constexpr (AllowTag) {
2463 downcast_call_tag<chatFolderInviteLink> type_tag;
2464 func(type_tag);
2465 } else {
2466 func(static_cast<chatFolderInviteLink &>(*obj));
2467 }
2468 return true;
2469 case chatFolderInviteLinkInfo::ID:
2470 if constexpr (AllowTag) {
2471 downcast_call_tag<chatFolderInviteLinkInfo> type_tag;
2472 func(type_tag);
2473 } else {
2474 func(static_cast<chatFolderInviteLinkInfo &>(*obj));
2475 }
2476 return true;
2477 case chatFolderInviteLinks::ID:
2478 if constexpr (AllowTag) {
2479 downcast_call_tag<chatFolderInviteLinks> type_tag;
2480 func(type_tag);
2481 } else {
2482 func(static_cast<chatFolderInviteLinks &>(*obj));
2483 }
2484 return true;
2485 case chatFolderName::ID:
2486 if constexpr (AllowTag) {
2487 downcast_call_tag<chatFolderName> type_tag;
2488 func(type_tag);
2489 } else {
2490 func(static_cast<chatFolderName &>(*obj));
2491 }
2492 return true;
2493 case chatInviteLink::ID:
2494 if constexpr (AllowTag) {
2495 downcast_call_tag<chatInviteLink> type_tag;
2496 func(type_tag);
2497 } else {
2498 func(static_cast<chatInviteLink &>(*obj));
2499 }
2500 return true;
2501 case chatInviteLinkCount::ID:
2502 if constexpr (AllowTag) {
2503 downcast_call_tag<chatInviteLinkCount> type_tag;
2504 func(type_tag);
2505 } else {
2506 func(static_cast<chatInviteLinkCount &>(*obj));
2507 }
2508 return true;
2509 case chatInviteLinkCounts::ID:
2510 if constexpr (AllowTag) {
2511 downcast_call_tag<chatInviteLinkCounts> type_tag;
2512 func(type_tag);
2513 } else {
2514 func(static_cast<chatInviteLinkCounts &>(*obj));
2515 }
2516 return true;
2517 case chatInviteLinkInfo::ID:
2518 if constexpr (AllowTag) {
2519 downcast_call_tag<chatInviteLinkInfo> type_tag;
2520 func(type_tag);
2521 } else {
2522 func(static_cast<chatInviteLinkInfo &>(*obj));
2523 }
2524 return true;
2525 case chatInviteLinkMember::ID:
2526 if constexpr (AllowTag) {
2527 downcast_call_tag<chatInviteLinkMember> type_tag;
2528 func(type_tag);
2529 } else {
2530 func(static_cast<chatInviteLinkMember &>(*obj));
2531 }
2532 return true;
2533 case chatInviteLinkMembers::ID:
2534 if constexpr (AllowTag) {
2535 downcast_call_tag<chatInviteLinkMembers> type_tag;
2536 func(type_tag);
2537 } else {
2538 func(static_cast<chatInviteLinkMembers &>(*obj));
2539 }
2540 return true;
2541 case chatInviteLinkSubscriptionInfo::ID:
2542 if constexpr (AllowTag) {
2543 downcast_call_tag<chatInviteLinkSubscriptionInfo> type_tag;
2544 func(type_tag);
2545 } else {
2546 func(static_cast<chatInviteLinkSubscriptionInfo &>(*obj));
2547 }
2548 return true;
2549 case chatInviteLinks::ID:
2550 if constexpr (AllowTag) {
2551 downcast_call_tag<chatInviteLinks> type_tag;
2552 func(type_tag);
2553 } else {
2554 func(static_cast<chatInviteLinks &>(*obj));
2555 }
2556 return true;
2557 case chatJoinRequest::ID:
2558 if constexpr (AllowTag) {
2559 downcast_call_tag<chatJoinRequest> type_tag;
2560 func(type_tag);
2561 } else {
2562 func(static_cast<chatJoinRequest &>(*obj));
2563 }
2564 return true;
2565 case chatJoinRequests::ID:
2566 if constexpr (AllowTag) {
2567 downcast_call_tag<chatJoinRequests> type_tag;
2568 func(type_tag);
2569 } else {
2570 func(static_cast<chatJoinRequests &>(*obj));
2571 }
2572 return true;
2573 case chatJoinRequestsInfo::ID:
2574 if constexpr (AllowTag) {
2575 downcast_call_tag<chatJoinRequestsInfo> type_tag;
2576 func(type_tag);
2577 } else {
2578 func(static_cast<chatJoinRequestsInfo &>(*obj));
2579 }
2580 return true;
2581 case chatListMain::ID:
2582 if constexpr (AllowTag) {
2583 downcast_call_tag<chatListMain> type_tag;
2584 func(type_tag);
2585 } else {
2586 func(static_cast<chatListMain &>(*obj));
2587 }
2588 return true;
2589 case chatListArchive::ID:
2590 if constexpr (AllowTag) {
2591 downcast_call_tag<chatListArchive> type_tag;
2592 func(type_tag);
2593 } else {
2594 func(static_cast<chatListArchive &>(*obj));
2595 }
2596 return true;
2597 case chatListFolder::ID:
2598 if constexpr (AllowTag) {
2599 downcast_call_tag<chatListFolder> type_tag;
2600 func(type_tag);
2601 } else {
2602 func(static_cast<chatListFolder &>(*obj));
2603 }
2604 return true;
2605 case chatLists::ID:
2606 if constexpr (AllowTag) {
2607 downcast_call_tag<chatLists> type_tag;
2608 func(type_tag);
2609 } else {
2610 func(static_cast<chatLists &>(*obj));
2611 }
2612 return true;
2613 case chatLocation::ID:
2614 if constexpr (AllowTag) {
2615 downcast_call_tag<chatLocation> type_tag;
2616 func(type_tag);
2617 } else {
2618 func(static_cast<chatLocation &>(*obj));
2619 }
2620 return true;
2621 case chatMember::ID:
2622 if constexpr (AllowTag) {
2623 downcast_call_tag<chatMember> type_tag;
2624 func(type_tag);
2625 } else {
2626 func(static_cast<chatMember &>(*obj));
2627 }
2628 return true;
2629 case chatMemberStatusCreator::ID:
2630 if constexpr (AllowTag) {
2631 downcast_call_tag<chatMemberStatusCreator> type_tag;
2632 func(type_tag);
2633 } else {
2634 func(static_cast<chatMemberStatusCreator &>(*obj));
2635 }
2636 return true;
2637 case chatMemberStatusAdministrator::ID:
2638 if constexpr (AllowTag) {
2639 downcast_call_tag<chatMemberStatusAdministrator> type_tag;
2640 func(type_tag);
2641 } else {
2642 func(static_cast<chatMemberStatusAdministrator &>(*obj));
2643 }
2644 return true;
2645 case chatMemberStatusMember::ID:
2646 if constexpr (AllowTag) {
2647 downcast_call_tag<chatMemberStatusMember> type_tag;
2648 func(type_tag);
2649 } else {
2650 func(static_cast<chatMemberStatusMember &>(*obj));
2651 }
2652 return true;
2653 case chatMemberStatusRestricted::ID:
2654 if constexpr (AllowTag) {
2655 downcast_call_tag<chatMemberStatusRestricted> type_tag;
2656 func(type_tag);
2657 } else {
2658 func(static_cast<chatMemberStatusRestricted &>(*obj));
2659 }
2660 return true;
2661 case chatMemberStatusLeft::ID:
2662 if constexpr (AllowTag) {
2663 downcast_call_tag<chatMemberStatusLeft> type_tag;
2664 func(type_tag);
2665 } else {
2666 func(static_cast<chatMemberStatusLeft &>(*obj));
2667 }
2668 return true;
2669 case chatMemberStatusBanned::ID:
2670 if constexpr (AllowTag) {
2671 downcast_call_tag<chatMemberStatusBanned> type_tag;
2672 func(type_tag);
2673 } else {
2674 func(static_cast<chatMemberStatusBanned &>(*obj));
2675 }
2676 return true;
2677 case chatMembers::ID:
2678 if constexpr (AllowTag) {
2679 downcast_call_tag<chatMembers> type_tag;
2680 func(type_tag);
2681 } else {
2682 func(static_cast<chatMembers &>(*obj));
2683 }
2684 return true;
2685 case chatMembersFilterContacts::ID:
2686 if constexpr (AllowTag) {
2687 downcast_call_tag<chatMembersFilterContacts> type_tag;
2688 func(type_tag);
2689 } else {
2690 func(static_cast<chatMembersFilterContacts &>(*obj));
2691 }
2692 return true;
2693 case chatMembersFilterAdministrators::ID:
2694 if constexpr (AllowTag) {
2695 downcast_call_tag<chatMembersFilterAdministrators> type_tag;
2696 func(type_tag);
2697 } else {
2698 func(static_cast<chatMembersFilterAdministrators &>(*obj));
2699 }
2700 return true;
2701 case chatMembersFilterMembers::ID:
2702 if constexpr (AllowTag) {
2703 downcast_call_tag<chatMembersFilterMembers> type_tag;
2704 func(type_tag);
2705 } else {
2706 func(static_cast<chatMembersFilterMembers &>(*obj));
2707 }
2708 return true;
2709 case chatMembersFilterMention::ID:
2710 if constexpr (AllowTag) {
2711 downcast_call_tag<chatMembersFilterMention> type_tag;
2712 func(type_tag);
2713 } else {
2714 func(static_cast<chatMembersFilterMention &>(*obj));
2715 }
2716 return true;
2717 case chatMembersFilterRestricted::ID:
2718 if constexpr (AllowTag) {
2719 downcast_call_tag<chatMembersFilterRestricted> type_tag;
2720 func(type_tag);
2721 } else {
2722 func(static_cast<chatMembersFilterRestricted &>(*obj));
2723 }
2724 return true;
2725 case chatMembersFilterBanned::ID:
2726 if constexpr (AllowTag) {
2727 downcast_call_tag<chatMembersFilterBanned> type_tag;
2728 func(type_tag);
2729 } else {
2730 func(static_cast<chatMembersFilterBanned &>(*obj));
2731 }
2732 return true;
2733 case chatMembersFilterBots::ID:
2734 if constexpr (AllowTag) {
2735 downcast_call_tag<chatMembersFilterBots> type_tag;
2736 func(type_tag);
2737 } else {
2738 func(static_cast<chatMembersFilterBots &>(*obj));
2739 }
2740 return true;
2741 case chatMessageSender::ID:
2742 if constexpr (AllowTag) {
2743 downcast_call_tag<chatMessageSender> type_tag;
2744 func(type_tag);
2745 } else {
2746 func(static_cast<chatMessageSender &>(*obj));
2747 }
2748 return true;
2749 case chatMessageSenders::ID:
2750 if constexpr (AllowTag) {
2751 downcast_call_tag<chatMessageSenders> type_tag;
2752 func(type_tag);
2753 } else {
2754 func(static_cast<chatMessageSenders &>(*obj));
2755 }
2756 return true;
2757 case chatNotificationSettings::ID:
2758 if constexpr (AllowTag) {
2759 downcast_call_tag<chatNotificationSettings> type_tag;
2760 func(type_tag);
2761 } else {
2762 func(static_cast<chatNotificationSettings &>(*obj));
2763 }
2764 return true;
2765 case chatPermissions::ID:
2766 if constexpr (AllowTag) {
2767 downcast_call_tag<chatPermissions> type_tag;
2768 func(type_tag);
2769 } else {
2770 func(static_cast<chatPermissions &>(*obj));
2771 }
2772 return true;
2773 case chatPhoto::ID:
2774 if constexpr (AllowTag) {
2775 downcast_call_tag<chatPhoto> type_tag;
2776 func(type_tag);
2777 } else {
2778 func(static_cast<chatPhoto &>(*obj));
2779 }
2780 return true;
2781 case chatPhotoInfo::ID:
2782 if constexpr (AllowTag) {
2783 downcast_call_tag<chatPhotoInfo> type_tag;
2784 func(type_tag);
2785 } else {
2786 func(static_cast<chatPhotoInfo &>(*obj));
2787 }
2788 return true;
2789 case chatPhotoSticker::ID:
2790 if constexpr (AllowTag) {
2791 downcast_call_tag<chatPhotoSticker> type_tag;
2792 func(type_tag);
2793 } else {
2794 func(static_cast<chatPhotoSticker &>(*obj));
2795 }
2796 return true;
2797 case chatPhotoStickerTypeRegularOrMask::ID:
2798 if constexpr (AllowTag) {
2799 downcast_call_tag<chatPhotoStickerTypeRegularOrMask> type_tag;
2800 func(type_tag);
2801 } else {
2802 func(static_cast<chatPhotoStickerTypeRegularOrMask &>(*obj));
2803 }
2804 return true;
2805 case chatPhotoStickerTypeCustomEmoji::ID:
2806 if constexpr (AllowTag) {
2807 downcast_call_tag<chatPhotoStickerTypeCustomEmoji> type_tag;
2808 func(type_tag);
2809 } else {
2810 func(static_cast<chatPhotoStickerTypeCustomEmoji &>(*obj));
2811 }
2812 return true;
2813 case chatPhotos::ID:
2814 if constexpr (AllowTag) {
2815 downcast_call_tag<chatPhotos> type_tag;
2816 func(type_tag);
2817 } else {
2818 func(static_cast<chatPhotos &>(*obj));
2819 }
2820 return true;
2821 case chatPosition::ID:
2822 if constexpr (AllowTag) {
2823 downcast_call_tag<chatPosition> type_tag;
2824 func(type_tag);
2825 } else {
2826 func(static_cast<chatPosition &>(*obj));
2827 }
2828 return true;
2829 case chatRevenueAmount::ID:
2830 if constexpr (AllowTag) {
2831 downcast_call_tag<chatRevenueAmount> type_tag;
2832 func(type_tag);
2833 } else {
2834 func(static_cast<chatRevenueAmount &>(*obj));
2835 }
2836 return true;
2837 case chatRevenueStatistics::ID:
2838 if constexpr (AllowTag) {
2839 downcast_call_tag<chatRevenueStatistics> type_tag;
2840 func(type_tag);
2841 } else {
2842 func(static_cast<chatRevenueStatistics &>(*obj));
2843 }
2844 return true;
2845 case chatRevenueTransaction::ID:
2846 if constexpr (AllowTag) {
2847 downcast_call_tag<chatRevenueTransaction> type_tag;
2848 func(type_tag);
2849 } else {
2850 func(static_cast<chatRevenueTransaction &>(*obj));
2851 }
2852 return true;
2853 case chatRevenueTransactionTypeUnsupported::ID:
2854 if constexpr (AllowTag) {
2855 downcast_call_tag<chatRevenueTransactionTypeUnsupported> type_tag;
2856 func(type_tag);
2857 } else {
2858 func(static_cast<chatRevenueTransactionTypeUnsupported &>(*obj));
2859 }
2860 return true;
2861 case chatRevenueTransactionTypeSponsoredMessageEarnings::ID:
2862 if constexpr (AllowTag) {
2863 downcast_call_tag<chatRevenueTransactionTypeSponsoredMessageEarnings> type_tag;
2864 func(type_tag);
2865 } else {
2866 func(static_cast<chatRevenueTransactionTypeSponsoredMessageEarnings &>(*obj));
2867 }
2868 return true;
2869 case chatRevenueTransactionTypeSuggestedPostEarnings::ID:
2870 if constexpr (AllowTag) {
2871 downcast_call_tag<chatRevenueTransactionTypeSuggestedPostEarnings> type_tag;
2872 func(type_tag);
2873 } else {
2874 func(static_cast<chatRevenueTransactionTypeSuggestedPostEarnings &>(*obj));
2875 }
2876 return true;
2877 case chatRevenueTransactionTypeFragmentWithdrawal::ID:
2878 if constexpr (AllowTag) {
2879 downcast_call_tag<chatRevenueTransactionTypeFragmentWithdrawal> type_tag;
2880 func(type_tag);
2881 } else {
2882 func(static_cast<chatRevenueTransactionTypeFragmentWithdrawal &>(*obj));
2883 }
2884 return true;
2885 case chatRevenueTransactionTypeFragmentRefund::ID:
2886 if constexpr (AllowTag) {
2887 downcast_call_tag<chatRevenueTransactionTypeFragmentRefund> type_tag;
2888 func(type_tag);
2889 } else {
2890 func(static_cast<chatRevenueTransactionTypeFragmentRefund &>(*obj));
2891 }
2892 return true;
2893 case chatRevenueTransactions::ID:
2894 if constexpr (AllowTag) {
2895 downcast_call_tag<chatRevenueTransactions> type_tag;
2896 func(type_tag);
2897 } else {
2898 func(static_cast<chatRevenueTransactions &>(*obj));
2899 }
2900 return true;
2901 case chatSourceMtprotoProxy::ID:
2902 if constexpr (AllowTag) {
2903 downcast_call_tag<chatSourceMtprotoProxy> type_tag;
2904 func(type_tag);
2905 } else {
2906 func(static_cast<chatSourceMtprotoProxy &>(*obj));
2907 }
2908 return true;
2909 case chatSourcePublicServiceAnnouncement::ID:
2910 if constexpr (AllowTag) {
2911 downcast_call_tag<chatSourcePublicServiceAnnouncement> type_tag;
2912 func(type_tag);
2913 } else {
2914 func(static_cast<chatSourcePublicServiceAnnouncement &>(*obj));
2915 }
2916 return true;
2917 case chatStatisticsSupergroup::ID:
2918 if constexpr (AllowTag) {
2919 downcast_call_tag<chatStatisticsSupergroup> type_tag;
2920 func(type_tag);
2921 } else {
2922 func(static_cast<chatStatisticsSupergroup &>(*obj));
2923 }
2924 return true;
2925 case chatStatisticsChannel::ID:
2926 if constexpr (AllowTag) {
2927 downcast_call_tag<chatStatisticsChannel> type_tag;
2928 func(type_tag);
2929 } else {
2930 func(static_cast<chatStatisticsChannel &>(*obj));
2931 }
2932 return true;
2933 case chatStatisticsAdministratorActionsInfo::ID:
2934 if constexpr (AllowTag) {
2935 downcast_call_tag<chatStatisticsAdministratorActionsInfo> type_tag;
2936 func(type_tag);
2937 } else {
2938 func(static_cast<chatStatisticsAdministratorActionsInfo &>(*obj));
2939 }
2940 return true;
2941 case chatStatisticsInteractionInfo::ID:
2942 if constexpr (AllowTag) {
2943 downcast_call_tag<chatStatisticsInteractionInfo> type_tag;
2944 func(type_tag);
2945 } else {
2946 func(static_cast<chatStatisticsInteractionInfo &>(*obj));
2947 }
2948 return true;
2949 case chatStatisticsInviterInfo::ID:
2950 if constexpr (AllowTag) {
2951 downcast_call_tag<chatStatisticsInviterInfo> type_tag;
2952 func(type_tag);
2953 } else {
2954 func(static_cast<chatStatisticsInviterInfo &>(*obj));
2955 }
2956 return true;
2957 case chatStatisticsMessageSenderInfo::ID:
2958 if constexpr (AllowTag) {
2959 downcast_call_tag<chatStatisticsMessageSenderInfo> type_tag;
2960 func(type_tag);
2961 } else {
2962 func(static_cast<chatStatisticsMessageSenderInfo &>(*obj));
2963 }
2964 return true;
2965 case chatStatisticsObjectTypeMessage::ID:
2966 if constexpr (AllowTag) {
2967 downcast_call_tag<chatStatisticsObjectTypeMessage> type_tag;
2968 func(type_tag);
2969 } else {
2970 func(static_cast<chatStatisticsObjectTypeMessage &>(*obj));
2971 }
2972 return true;
2973 case chatStatisticsObjectTypeStory::ID:
2974 if constexpr (AllowTag) {
2975 downcast_call_tag<chatStatisticsObjectTypeStory> type_tag;
2976 func(type_tag);
2977 } else {
2978 func(static_cast<chatStatisticsObjectTypeStory &>(*obj));
2979 }
2980 return true;
2981 case chatThemeEmoji::ID:
2982 if constexpr (AllowTag) {
2983 downcast_call_tag<chatThemeEmoji> type_tag;
2984 func(type_tag);
2985 } else {
2986 func(static_cast<chatThemeEmoji &>(*obj));
2987 }
2988 return true;
2989 case chatThemeGift::ID:
2990 if constexpr (AllowTag) {
2991 downcast_call_tag<chatThemeGift> type_tag;
2992 func(type_tag);
2993 } else {
2994 func(static_cast<chatThemeGift &>(*obj));
2995 }
2996 return true;
2997 case chatTypePrivate::ID:
2998 if constexpr (AllowTag) {
2999 downcast_call_tag<chatTypePrivate> type_tag;
3000 func(type_tag);
3001 } else {
3002 func(static_cast<chatTypePrivate &>(*obj));
3003 }
3004 return true;
3005 case chatTypeBasicGroup::ID:
3006 if constexpr (AllowTag) {
3007 downcast_call_tag<chatTypeBasicGroup> type_tag;
3008 func(type_tag);
3009 } else {
3010 func(static_cast<chatTypeBasicGroup &>(*obj));
3011 }
3012 return true;
3013 case chatTypeSupergroup::ID:
3014 if constexpr (AllowTag) {
3015 downcast_call_tag<chatTypeSupergroup> type_tag;
3016 func(type_tag);
3017 } else {
3018 func(static_cast<chatTypeSupergroup &>(*obj));
3019 }
3020 return true;
3021 case chatTypeSecret::ID:
3022 if constexpr (AllowTag) {
3023 downcast_call_tag<chatTypeSecret> type_tag;
3024 func(type_tag);
3025 } else {
3026 func(static_cast<chatTypeSecret &>(*obj));
3027 }
3028 return true;
3029 case chats::ID:
3030 if constexpr (AllowTag) {
3031 downcast_call_tag<chats> type_tag;
3032 func(type_tag);
3033 } else {
3034 func(static_cast<chats &>(*obj));
3035 }
3036 return true;
3037 case checkChatUsernameResultOk::ID:
3038 if constexpr (AllowTag) {
3039 downcast_call_tag<checkChatUsernameResultOk> type_tag;
3040 func(type_tag);
3041 } else {
3042 func(static_cast<checkChatUsernameResultOk &>(*obj));
3043 }
3044 return true;
3045 case checkChatUsernameResultUsernameInvalid::ID:
3046 if constexpr (AllowTag) {
3047 downcast_call_tag<checkChatUsernameResultUsernameInvalid> type_tag;
3048 func(type_tag);
3049 } else {
3050 func(static_cast<checkChatUsernameResultUsernameInvalid &>(*obj));
3051 }
3052 return true;
3053 case checkChatUsernameResultUsernameOccupied::ID:
3054 if constexpr (AllowTag) {
3055 downcast_call_tag<checkChatUsernameResultUsernameOccupied> type_tag;
3056 func(type_tag);
3057 } else {
3058 func(static_cast<checkChatUsernameResultUsernameOccupied &>(*obj));
3059 }
3060 return true;
3061 case checkChatUsernameResultUsernamePurchasable::ID:
3062 if constexpr (AllowTag) {
3063 downcast_call_tag<checkChatUsernameResultUsernamePurchasable> type_tag;
3064 func(type_tag);
3065 } else {
3066 func(static_cast<checkChatUsernameResultUsernamePurchasable &>(*obj));
3067 }
3068 return true;
3069 case checkChatUsernameResultPublicChatsTooMany::ID:
3070 if constexpr (AllowTag) {
3071 downcast_call_tag<checkChatUsernameResultPublicChatsTooMany> type_tag;
3072 func(type_tag);
3073 } else {
3074 func(static_cast<checkChatUsernameResultPublicChatsTooMany &>(*obj));
3075 }
3076 return true;
3077 case checkChatUsernameResultPublicGroupsUnavailable::ID:
3078 if constexpr (AllowTag) {
3079 downcast_call_tag<checkChatUsernameResultPublicGroupsUnavailable> type_tag;
3080 func(type_tag);
3081 } else {
3082 func(static_cast<checkChatUsernameResultPublicGroupsUnavailable &>(*obj));
3083 }
3084 return true;
3085 case checkStickerSetNameResultOk::ID:
3086 if constexpr (AllowTag) {
3087 downcast_call_tag<checkStickerSetNameResultOk> type_tag;
3088 func(type_tag);
3089 } else {
3090 func(static_cast<checkStickerSetNameResultOk &>(*obj));
3091 }
3092 return true;
3093 case checkStickerSetNameResultNameInvalid::ID:
3094 if constexpr (AllowTag) {
3095 downcast_call_tag<checkStickerSetNameResultNameInvalid> type_tag;
3096 func(type_tag);
3097 } else {
3098 func(static_cast<checkStickerSetNameResultNameInvalid &>(*obj));
3099 }
3100 return true;
3101 case checkStickerSetNameResultNameOccupied::ID:
3102 if constexpr (AllowTag) {
3103 downcast_call_tag<checkStickerSetNameResultNameOccupied> type_tag;
3104 func(type_tag);
3105 } else {
3106 func(static_cast<checkStickerSetNameResultNameOccupied &>(*obj));
3107 }
3108 return true;
3109 case checklist::ID:
3110 if constexpr (AllowTag) {
3111 downcast_call_tag<checklist> type_tag;
3112 func(type_tag);
3113 } else {
3114 func(static_cast<checklist &>(*obj));
3115 }
3116 return true;
3117 case checklistTask::ID:
3118 if constexpr (AllowTag) {
3119 downcast_call_tag<checklistTask> type_tag;
3120 func(type_tag);
3121 } else {
3122 func(static_cast<checklistTask &>(*obj));
3123 }
3124 return true;
3125 case closeBirthdayUser::ID:
3126 if constexpr (AllowTag) {
3127 downcast_call_tag<closeBirthdayUser> type_tag;
3128 func(type_tag);
3129 } else {
3130 func(static_cast<closeBirthdayUser &>(*obj));
3131 }
3132 return true;
3133 case closedVectorPath::ID:
3134 if constexpr (AllowTag) {
3135 downcast_call_tag<closedVectorPath> type_tag;
3136 func(type_tag);
3137 } else {
3138 func(static_cast<closedVectorPath &>(*obj));
3139 }
3140 return true;
3141 case collectibleItemInfo::ID:
3142 if constexpr (AllowTag) {
3143 downcast_call_tag<collectibleItemInfo> type_tag;
3144 func(type_tag);
3145 } else {
3146 func(static_cast<collectibleItemInfo &>(*obj));
3147 }
3148 return true;
3149 case collectibleItemTypeUsername::ID:
3150 if constexpr (AllowTag) {
3151 downcast_call_tag<collectibleItemTypeUsername> type_tag;
3152 func(type_tag);
3153 } else {
3154 func(static_cast<collectibleItemTypeUsername &>(*obj));
3155 }
3156 return true;
3157 case collectibleItemTypePhoneNumber::ID:
3158 if constexpr (AllowTag) {
3159 downcast_call_tag<collectibleItemTypePhoneNumber> type_tag;
3160 func(type_tag);
3161 } else {
3162 func(static_cast<collectibleItemTypePhoneNumber &>(*obj));
3163 }
3164 return true;
3165 case connectedAffiliateProgram::ID:
3166 if constexpr (AllowTag) {
3167 downcast_call_tag<connectedAffiliateProgram> type_tag;
3168 func(type_tag);
3169 } else {
3170 func(static_cast<connectedAffiliateProgram &>(*obj));
3171 }
3172 return true;
3173 case connectedAffiliatePrograms::ID:
3174 if constexpr (AllowTag) {
3175 downcast_call_tag<connectedAffiliatePrograms> type_tag;
3176 func(type_tag);
3177 } else {
3178 func(static_cast<connectedAffiliatePrograms &>(*obj));
3179 }
3180 return true;
3181 case connectedWebsite::ID:
3182 if constexpr (AllowTag) {
3183 downcast_call_tag<connectedWebsite> type_tag;
3184 func(type_tag);
3185 } else {
3186 func(static_cast<connectedWebsite &>(*obj));
3187 }
3188 return true;
3189 case connectedWebsites::ID:
3190 if constexpr (AllowTag) {
3191 downcast_call_tag<connectedWebsites> type_tag;
3192 func(type_tag);
3193 } else {
3194 func(static_cast<connectedWebsites &>(*obj));
3195 }
3196 return true;
3197 case connectionStateWaitingForNetwork::ID:
3198 if constexpr (AllowTag) {
3199 downcast_call_tag<connectionStateWaitingForNetwork> type_tag;
3200 func(type_tag);
3201 } else {
3202 func(static_cast<connectionStateWaitingForNetwork &>(*obj));
3203 }
3204 return true;
3205 case connectionStateConnectingToProxy::ID:
3206 if constexpr (AllowTag) {
3207 downcast_call_tag<connectionStateConnectingToProxy> type_tag;
3208 func(type_tag);
3209 } else {
3210 func(static_cast<connectionStateConnectingToProxy &>(*obj));
3211 }
3212 return true;
3213 case connectionStateConnecting::ID:
3214 if constexpr (AllowTag) {
3215 downcast_call_tag<connectionStateConnecting> type_tag;
3216 func(type_tag);
3217 } else {
3218 func(static_cast<connectionStateConnecting &>(*obj));
3219 }
3220 return true;
3221 case connectionStateUpdating::ID:
3222 if constexpr (AllowTag) {
3223 downcast_call_tag<connectionStateUpdating> type_tag;
3224 func(type_tag);
3225 } else {
3226 func(static_cast<connectionStateUpdating &>(*obj));
3227 }
3228 return true;
3229 case connectionStateReady::ID:
3230 if constexpr (AllowTag) {
3231 downcast_call_tag<connectionStateReady> type_tag;
3232 func(type_tag);
3233 } else {
3234 func(static_cast<connectionStateReady &>(*obj));
3235 }
3236 return true;
3237 case contact::ID:
3238 if constexpr (AllowTag) {
3239 downcast_call_tag<contact> type_tag;
3240 func(type_tag);
3241 } else {
3242 func(static_cast<contact &>(*obj));
3243 }
3244 return true;
3245 case count::ID:
3246 if constexpr (AllowTag) {
3247 downcast_call_tag<count> type_tag;
3248 func(type_tag);
3249 } else {
3250 func(static_cast<count &>(*obj));
3251 }
3252 return true;
3253 case countries::ID:
3254 if constexpr (AllowTag) {
3255 downcast_call_tag<countries> type_tag;
3256 func(type_tag);
3257 } else {
3258 func(static_cast<countries &>(*obj));
3259 }
3260 return true;
3261 case countryInfo::ID:
3262 if constexpr (AllowTag) {
3263 downcast_call_tag<countryInfo> type_tag;
3264 func(type_tag);
3265 } else {
3266 func(static_cast<countryInfo &>(*obj));
3267 }
3268 return true;
3269 case craftGiftResultSuccess::ID:
3270 if constexpr (AllowTag) {
3271 downcast_call_tag<craftGiftResultSuccess> type_tag;
3272 func(type_tag);
3273 } else {
3274 func(static_cast<craftGiftResultSuccess &>(*obj));
3275 }
3276 return true;
3277 case craftGiftResultTooEarly::ID:
3278 if constexpr (AllowTag) {
3279 downcast_call_tag<craftGiftResultTooEarly> type_tag;
3280 func(type_tag);
3281 } else {
3282 func(static_cast<craftGiftResultTooEarly &>(*obj));
3283 }
3284 return true;
3285 case craftGiftResultInvalidGift::ID:
3286 if constexpr (AllowTag) {
3287 downcast_call_tag<craftGiftResultInvalidGift> type_tag;
3288 func(type_tag);
3289 } else {
3290 func(static_cast<craftGiftResultInvalidGift &>(*obj));
3291 }
3292 return true;
3293 case craftGiftResultFail::ID:
3294 if constexpr (AllowTag) {
3295 downcast_call_tag<craftGiftResultFail> type_tag;
3296 func(type_tag);
3297 } else {
3298 func(static_cast<craftGiftResultFail &>(*obj));
3299 }
3300 return true;
3301 case createdBasicGroupChat::ID:
3302 if constexpr (AllowTag) {
3303 downcast_call_tag<createdBasicGroupChat> type_tag;
3304 func(type_tag);
3305 } else {
3306 func(static_cast<createdBasicGroupChat &>(*obj));
3307 }
3308 return true;
3309 case currentWeather::ID:
3310 if constexpr (AllowTag) {
3311 downcast_call_tag<currentWeather> type_tag;
3312 func(type_tag);
3313 } else {
3314 func(static_cast<currentWeather &>(*obj));
3315 }
3316 return true;
3317 case customRequestResult::ID:
3318 if constexpr (AllowTag) {
3319 downcast_call_tag<customRequestResult> type_tag;
3320 func(type_tag);
3321 } else {
3322 func(static_cast<customRequestResult &>(*obj));
3323 }
3324 return true;
3325 case data::ID:
3326 if constexpr (AllowTag) {
3327 downcast_call_tag<data> type_tag;
3328 func(type_tag);
3329 } else {
3330 func(static_cast<data &>(*obj));
3331 }
3332 return true;
3333 case databaseStatistics::ID:
3334 if constexpr (AllowTag) {
3335 downcast_call_tag<databaseStatistics> type_tag;
3336 func(type_tag);
3337 } else {
3338 func(static_cast<databaseStatistics &>(*obj));
3339 }
3340 return true;
3341 case date::ID:
3342 if constexpr (AllowTag) {
3343 downcast_call_tag<date> type_tag;
3344 func(type_tag);
3345 } else {
3346 func(static_cast<date &>(*obj));
3347 }
3348 return true;
3349 case dateRange::ID:
3350 if constexpr (AllowTag) {
3351 downcast_call_tag<dateRange> type_tag;
3352 func(type_tag);
3353 } else {
3354 func(static_cast<dateRange &>(*obj));
3355 }
3356 return true;
3357 case dateTimeFormattingTypeRelative::ID:
3358 if constexpr (AllowTag) {
3359 downcast_call_tag<dateTimeFormattingTypeRelative> type_tag;
3360 func(type_tag);
3361 } else {
3362 func(static_cast<dateTimeFormattingTypeRelative &>(*obj));
3363 }
3364 return true;
3365 case dateTimeFormattingTypeAbsolute::ID:
3366 if constexpr (AllowTag) {
3367 downcast_call_tag<dateTimeFormattingTypeAbsolute> type_tag;
3368 func(type_tag);
3369 } else {
3370 func(static_cast<dateTimeFormattingTypeAbsolute &>(*obj));
3371 }
3372 return true;
3373 case dateTimePartPrecisionNone::ID:
3374 if constexpr (AllowTag) {
3375 downcast_call_tag<dateTimePartPrecisionNone> type_tag;
3376 func(type_tag);
3377 } else {
3378 func(static_cast<dateTimePartPrecisionNone &>(*obj));
3379 }
3380 return true;
3381 case dateTimePartPrecisionShort::ID:
3382 if constexpr (AllowTag) {
3383 downcast_call_tag<dateTimePartPrecisionShort> type_tag;
3384 func(type_tag);
3385 } else {
3386 func(static_cast<dateTimePartPrecisionShort &>(*obj));
3387 }
3388 return true;
3389 case dateTimePartPrecisionLong::ID:
3390 if constexpr (AllowTag) {
3391 downcast_call_tag<dateTimePartPrecisionLong> type_tag;
3392 func(type_tag);
3393 } else {
3394 func(static_cast<dateTimePartPrecisionLong &>(*obj));
3395 }
3396 return true;
3397 case datedFile::ID:
3398 if constexpr (AllowTag) {
3399 downcast_call_tag<datedFile> type_tag;
3400 func(type_tag);
3401 } else {
3402 func(static_cast<datedFile &>(*obj));
3403 }
3404 return true;
3405 case deepLinkInfo::ID:
3406 if constexpr (AllowTag) {
3407 downcast_call_tag<deepLinkInfo> type_tag;
3408 func(type_tag);
3409 } else {
3410 func(static_cast<deepLinkInfo &>(*obj));
3411 }
3412 return true;
3413 case deviceTokenFirebaseCloudMessaging::ID:
3414 if constexpr (AllowTag) {
3415 downcast_call_tag<deviceTokenFirebaseCloudMessaging> type_tag;
3416 func(type_tag);
3417 } else {
3418 func(static_cast<deviceTokenFirebaseCloudMessaging &>(*obj));
3419 }
3420 return true;
3421 case deviceTokenApplePush::ID:
3422 if constexpr (AllowTag) {
3423 downcast_call_tag<deviceTokenApplePush> type_tag;
3424 func(type_tag);
3425 } else {
3426 func(static_cast<deviceTokenApplePush &>(*obj));
3427 }
3428 return true;
3429 case deviceTokenApplePushVoIP::ID:
3430 if constexpr (AllowTag) {
3431 downcast_call_tag<deviceTokenApplePushVoIP> type_tag;
3432 func(type_tag);
3433 } else {
3434 func(static_cast<deviceTokenApplePushVoIP &>(*obj));
3435 }
3436 return true;
3437 case deviceTokenWindowsPush::ID:
3438 if constexpr (AllowTag) {
3439 downcast_call_tag<deviceTokenWindowsPush> type_tag;
3440 func(type_tag);
3441 } else {
3442 func(static_cast<deviceTokenWindowsPush &>(*obj));
3443 }
3444 return true;
3445 case deviceTokenMicrosoftPush::ID:
3446 if constexpr (AllowTag) {
3447 downcast_call_tag<deviceTokenMicrosoftPush> type_tag;
3448 func(type_tag);
3449 } else {
3450 func(static_cast<deviceTokenMicrosoftPush &>(*obj));
3451 }
3452 return true;
3453 case deviceTokenMicrosoftPushVoIP::ID:
3454 if constexpr (AllowTag) {
3455 downcast_call_tag<deviceTokenMicrosoftPushVoIP> type_tag;
3456 func(type_tag);
3457 } else {
3458 func(static_cast<deviceTokenMicrosoftPushVoIP &>(*obj));
3459 }
3460 return true;
3461 case deviceTokenWebPush::ID:
3462 if constexpr (AllowTag) {
3463 downcast_call_tag<deviceTokenWebPush> type_tag;
3464 func(type_tag);
3465 } else {
3466 func(static_cast<deviceTokenWebPush &>(*obj));
3467 }
3468 return true;
3469 case deviceTokenSimplePush::ID:
3470 if constexpr (AllowTag) {
3471 downcast_call_tag<deviceTokenSimplePush> type_tag;
3472 func(type_tag);
3473 } else {
3474 func(static_cast<deviceTokenSimplePush &>(*obj));
3475 }
3476 return true;
3477 case deviceTokenUbuntuPush::ID:
3478 if constexpr (AllowTag) {
3479 downcast_call_tag<deviceTokenUbuntuPush> type_tag;
3480 func(type_tag);
3481 } else {
3482 func(static_cast<deviceTokenUbuntuPush &>(*obj));
3483 }
3484 return true;
3485 case deviceTokenBlackBerryPush::ID:
3486 if constexpr (AllowTag) {
3487 downcast_call_tag<deviceTokenBlackBerryPush> type_tag;
3488 func(type_tag);
3489 } else {
3490 func(static_cast<deviceTokenBlackBerryPush &>(*obj));
3491 }
3492 return true;
3493 case deviceTokenTizenPush::ID:
3494 if constexpr (AllowTag) {
3495 downcast_call_tag<deviceTokenTizenPush> type_tag;
3496 func(type_tag);
3497 } else {
3498 func(static_cast<deviceTokenTizenPush &>(*obj));
3499 }
3500 return true;
3501 case deviceTokenHuaweiPush::ID:
3502 if constexpr (AllowTag) {
3503 downcast_call_tag<deviceTokenHuaweiPush> type_tag;
3504 func(type_tag);
3505 } else {
3506 func(static_cast<deviceTokenHuaweiPush &>(*obj));
3507 }
3508 return true;
3509 case diceStickersRegular::ID:
3510 if constexpr (AllowTag) {
3511 downcast_call_tag<diceStickersRegular> type_tag;
3512 func(type_tag);
3513 } else {
3514 func(static_cast<diceStickersRegular &>(*obj));
3515 }
3516 return true;
3517 case diceStickersSlotMachine::ID:
3518 if constexpr (AllowTag) {
3519 downcast_call_tag<diceStickersSlotMachine> type_tag;
3520 func(type_tag);
3521 } else {
3522 func(static_cast<diceStickersSlotMachine &>(*obj));
3523 }
3524 return true;
3525 case diffEntity::ID:
3526 if constexpr (AllowTag) {
3527 downcast_call_tag<diffEntity> type_tag;
3528 func(type_tag);
3529 } else {
3530 func(static_cast<diffEntity &>(*obj));
3531 }
3532 return true;
3533 case diffEntityTypeInsert::ID:
3534 if constexpr (AllowTag) {
3535 downcast_call_tag<diffEntityTypeInsert> type_tag;
3536 func(type_tag);
3537 } else {
3538 func(static_cast<diffEntityTypeInsert &>(*obj));
3539 }
3540 return true;
3541 case diffEntityTypeReplace::ID:
3542 if constexpr (AllowTag) {
3543 downcast_call_tag<diffEntityTypeReplace> type_tag;
3544 func(type_tag);
3545 } else {
3546 func(static_cast<diffEntityTypeReplace &>(*obj));
3547 }
3548 return true;
3549 case diffEntityTypeDelete::ID:
3550 if constexpr (AllowTag) {
3551 downcast_call_tag<diffEntityTypeDelete> type_tag;
3552 func(type_tag);
3553 } else {
3554 func(static_cast<diffEntityTypeDelete &>(*obj));
3555 }
3556 return true;
3557 case diffText::ID:
3558 if constexpr (AllowTag) {
3559 downcast_call_tag<diffText> type_tag;
3560 func(type_tag);
3561 } else {
3562 func(static_cast<diffText &>(*obj));
3563 }
3564 return true;
3565 case directMessagesChatTopic::ID:
3566 if constexpr (AllowTag) {
3567 downcast_call_tag<directMessagesChatTopic> type_tag;
3568 func(type_tag);
3569 } else {
3570 func(static_cast<directMessagesChatTopic &>(*obj));
3571 }
3572 return true;
3573 case document::ID:
3574 if constexpr (AllowTag) {
3575 downcast_call_tag<document> type_tag;
3576 func(type_tag);
3577 } else {
3578 func(static_cast<document &>(*obj));
3579 }
3580 return true;
3581 case downloadedFileCounts::ID:
3582 if constexpr (AllowTag) {
3583 downcast_call_tag<downloadedFileCounts> type_tag;
3584 func(type_tag);
3585 } else {
3586 func(static_cast<downloadedFileCounts &>(*obj));
3587 }
3588 return true;
3589 case draftMessage::ID:
3590 if constexpr (AllowTag) {
3591 downcast_call_tag<draftMessage> type_tag;
3592 func(type_tag);
3593 } else {
3594 func(static_cast<draftMessage &>(*obj));
3595 }
3596 return true;
3597 case emailAddressAuthenticationCode::ID:
3598 if constexpr (AllowTag) {
3599 downcast_call_tag<emailAddressAuthenticationCode> type_tag;
3600 func(type_tag);
3601 } else {
3602 func(static_cast<emailAddressAuthenticationCode &>(*obj));
3603 }
3604 return true;
3605 case emailAddressAuthenticationAppleId::ID:
3606 if constexpr (AllowTag) {
3607 downcast_call_tag<emailAddressAuthenticationAppleId> type_tag;
3608 func(type_tag);
3609 } else {
3610 func(static_cast<emailAddressAuthenticationAppleId &>(*obj));
3611 }
3612 return true;
3613 case emailAddressAuthenticationGoogleId::ID:
3614 if constexpr (AllowTag) {
3615 downcast_call_tag<emailAddressAuthenticationGoogleId> type_tag;
3616 func(type_tag);
3617 } else {
3618 func(static_cast<emailAddressAuthenticationGoogleId &>(*obj));
3619 }
3620 return true;
3621 case emailAddressAuthenticationCodeInfo::ID:
3622 if constexpr (AllowTag) {
3623 downcast_call_tag<emailAddressAuthenticationCodeInfo> type_tag;
3624 func(type_tag);
3625 } else {
3626 func(static_cast<emailAddressAuthenticationCodeInfo &>(*obj));
3627 }
3628 return true;
3629 case emailAddressResetStateAvailable::ID:
3630 if constexpr (AllowTag) {
3631 downcast_call_tag<emailAddressResetStateAvailable> type_tag;
3632 func(type_tag);
3633 } else {
3634 func(static_cast<emailAddressResetStateAvailable &>(*obj));
3635 }
3636 return true;
3637 case emailAddressResetStatePending::ID:
3638 if constexpr (AllowTag) {
3639 downcast_call_tag<emailAddressResetStatePending> type_tag;
3640 func(type_tag);
3641 } else {
3642 func(static_cast<emailAddressResetStatePending &>(*obj));
3643 }
3644 return true;
3645 case emojiCategories::ID:
3646 if constexpr (AllowTag) {
3647 downcast_call_tag<emojiCategories> type_tag;
3648 func(type_tag);
3649 } else {
3650 func(static_cast<emojiCategories &>(*obj));
3651 }
3652 return true;
3653 case emojiCategory::ID:
3654 if constexpr (AllowTag) {
3655 downcast_call_tag<emojiCategory> type_tag;
3656 func(type_tag);
3657 } else {
3658 func(static_cast<emojiCategory &>(*obj));
3659 }
3660 return true;
3661 case emojiCategorySourceSearch::ID:
3662 if constexpr (AllowTag) {
3663 downcast_call_tag<emojiCategorySourceSearch> type_tag;
3664 func(type_tag);
3665 } else {
3666 func(static_cast<emojiCategorySourceSearch &>(*obj));
3667 }
3668 return true;
3669 case emojiCategorySourcePremium::ID:
3670 if constexpr (AllowTag) {
3671 downcast_call_tag<emojiCategorySourcePremium> type_tag;
3672 func(type_tag);
3673 } else {
3674 func(static_cast<emojiCategorySourcePremium &>(*obj));
3675 }
3676 return true;
3677 case emojiCategoryTypeDefault::ID:
3678 if constexpr (AllowTag) {
3679 downcast_call_tag<emojiCategoryTypeDefault> type_tag;
3680 func(type_tag);
3681 } else {
3682 func(static_cast<emojiCategoryTypeDefault &>(*obj));
3683 }
3684 return true;
3685 case emojiCategoryTypeRegularStickers::ID:
3686 if constexpr (AllowTag) {
3687 downcast_call_tag<emojiCategoryTypeRegularStickers> type_tag;
3688 func(type_tag);
3689 } else {
3690 func(static_cast<emojiCategoryTypeRegularStickers &>(*obj));
3691 }
3692 return true;
3693 case emojiCategoryTypeEmojiStatus::ID:
3694 if constexpr (AllowTag) {
3695 downcast_call_tag<emojiCategoryTypeEmojiStatus> type_tag;
3696 func(type_tag);
3697 } else {
3698 func(static_cast<emojiCategoryTypeEmojiStatus &>(*obj));
3699 }
3700 return true;
3701 case emojiCategoryTypeChatPhoto::ID:
3702 if constexpr (AllowTag) {
3703 downcast_call_tag<emojiCategoryTypeChatPhoto> type_tag;
3704 func(type_tag);
3705 } else {
3706 func(static_cast<emojiCategoryTypeChatPhoto &>(*obj));
3707 }
3708 return true;
3709 case emojiChatTheme::ID:
3710 if constexpr (AllowTag) {
3711 downcast_call_tag<emojiChatTheme> type_tag;
3712 func(type_tag);
3713 } else {
3714 func(static_cast<emojiChatTheme &>(*obj));
3715 }
3716 return true;
3717 case emojiKeyword::ID:
3718 if constexpr (AllowTag) {
3719 downcast_call_tag<emojiKeyword> type_tag;
3720 func(type_tag);
3721 } else {
3722 func(static_cast<emojiKeyword &>(*obj));
3723 }
3724 return true;
3725 case emojiKeywords::ID:
3726 if constexpr (AllowTag) {
3727 downcast_call_tag<emojiKeywords> type_tag;
3728 func(type_tag);
3729 } else {
3730 func(static_cast<emojiKeywords &>(*obj));
3731 }
3732 return true;
3733 case emojiReaction::ID:
3734 if constexpr (AllowTag) {
3735 downcast_call_tag<emojiReaction> type_tag;
3736 func(type_tag);
3737 } else {
3738 func(static_cast<emojiReaction &>(*obj));
3739 }
3740 return true;
3741 case emojiStatus::ID:
3742 if constexpr (AllowTag) {
3743 downcast_call_tag<emojiStatus> type_tag;
3744 func(type_tag);
3745 } else {
3746 func(static_cast<emojiStatus &>(*obj));
3747 }
3748 return true;
3749 case emojiStatusCustomEmojis::ID:
3750 if constexpr (AllowTag) {
3751 downcast_call_tag<emojiStatusCustomEmojis> type_tag;
3752 func(type_tag);
3753 } else {
3754 func(static_cast<emojiStatusCustomEmojis &>(*obj));
3755 }
3756 return true;
3757 case emojiStatusTypeCustomEmoji::ID:
3758 if constexpr (AllowTag) {
3759 downcast_call_tag<emojiStatusTypeCustomEmoji> type_tag;
3760 func(type_tag);
3761 } else {
3762 func(static_cast<emojiStatusTypeCustomEmoji &>(*obj));
3763 }
3764 return true;
3765 case emojiStatusTypeUpgradedGift::ID:
3766 if constexpr (AllowTag) {
3767 downcast_call_tag<emojiStatusTypeUpgradedGift> type_tag;
3768 func(type_tag);
3769 } else {
3770 func(static_cast<emojiStatusTypeUpgradedGift &>(*obj));
3771 }
3772 return true;
3773 case emojiStatuses::ID:
3774 if constexpr (AllowTag) {
3775 downcast_call_tag<emojiStatuses> type_tag;
3776 func(type_tag);
3777 } else {
3778 func(static_cast<emojiStatuses &>(*obj));
3779 }
3780 return true;
3781 case emojis::ID:
3782 if constexpr (AllowTag) {
3783 downcast_call_tag<emojis> type_tag;
3784 func(type_tag);
3785 } else {
3786 func(static_cast<emojis &>(*obj));
3787 }
3788 return true;
3789 case encryptedCredentials::ID:
3790 if constexpr (AllowTag) {
3791 downcast_call_tag<encryptedCredentials> type_tag;
3792 func(type_tag);
3793 } else {
3794 func(static_cast<encryptedCredentials &>(*obj));
3795 }
3796 return true;
3797 case encryptedPassportElement::ID:
3798 if constexpr (AllowTag) {
3799 downcast_call_tag<encryptedPassportElement> type_tag;
3800 func(type_tag);
3801 } else {
3802 func(static_cast<encryptedPassportElement &>(*obj));
3803 }
3804 return true;
3805 case error::ID:
3806 if constexpr (AllowTag) {
3807 downcast_call_tag<error> type_tag;
3808 func(type_tag);
3809 } else {
3810 func(static_cast<error &>(*obj));
3811 }
3812 return true;
3813 case factCheck::ID:
3814 if constexpr (AllowTag) {
3815 downcast_call_tag<factCheck> type_tag;
3816 func(type_tag);
3817 } else {
3818 func(static_cast<factCheck &>(*obj));
3819 }
3820 return true;
3821 case failedToAddMember::ID:
3822 if constexpr (AllowTag) {
3823 downcast_call_tag<failedToAddMember> type_tag;
3824 func(type_tag);
3825 } else {
3826 func(static_cast<failedToAddMember &>(*obj));
3827 }
3828 return true;
3829 case failedToAddMembers::ID:
3830 if constexpr (AllowTag) {
3831 downcast_call_tag<failedToAddMembers> type_tag;
3832 func(type_tag);
3833 } else {
3834 func(static_cast<failedToAddMembers &>(*obj));
3835 }
3836 return true;
3837 case file::ID:
3838 if constexpr (AllowTag) {
3839 downcast_call_tag<file> type_tag;
3840 func(type_tag);
3841 } else {
3842 func(static_cast<file &>(*obj));
3843 }
3844 return true;
3845 case fileDownload::ID:
3846 if constexpr (AllowTag) {
3847 downcast_call_tag<fileDownload> type_tag;
3848 func(type_tag);
3849 } else {
3850 func(static_cast<fileDownload &>(*obj));
3851 }
3852 return true;
3853 case fileDownloadedPrefixSize::ID:
3854 if constexpr (AllowTag) {
3855 downcast_call_tag<fileDownloadedPrefixSize> type_tag;
3856 func(type_tag);
3857 } else {
3858 func(static_cast<fileDownloadedPrefixSize &>(*obj));
3859 }
3860 return true;
3861 case fileTypeNone::ID:
3862 if constexpr (AllowTag) {
3863 downcast_call_tag<fileTypeNone> type_tag;
3864 func(type_tag);
3865 } else {
3866 func(static_cast<fileTypeNone &>(*obj));
3867 }
3868 return true;
3869 case fileTypeAnimation::ID:
3870 if constexpr (AllowTag) {
3871 downcast_call_tag<fileTypeAnimation> type_tag;
3872 func(type_tag);
3873 } else {
3874 func(static_cast<fileTypeAnimation &>(*obj));
3875 }
3876 return true;
3877 case fileTypeAudio::ID:
3878 if constexpr (AllowTag) {
3879 downcast_call_tag<fileTypeAudio> type_tag;
3880 func(type_tag);
3881 } else {
3882 func(static_cast<fileTypeAudio &>(*obj));
3883 }
3884 return true;
3885 case fileTypeDocument::ID:
3886 if constexpr (AllowTag) {
3887 downcast_call_tag<fileTypeDocument> type_tag;
3888 func(type_tag);
3889 } else {
3890 func(static_cast<fileTypeDocument &>(*obj));
3891 }
3892 return true;
3893 case fileTypeLivePhotoVideo::ID:
3894 if constexpr (AllowTag) {
3895 downcast_call_tag<fileTypeLivePhotoVideo> type_tag;
3896 func(type_tag);
3897 } else {
3898 func(static_cast<fileTypeLivePhotoVideo &>(*obj));
3899 }
3900 return true;
3901 case fileTypeNotificationSound::ID:
3902 if constexpr (AllowTag) {
3903 downcast_call_tag<fileTypeNotificationSound> type_tag;
3904 func(type_tag);
3905 } else {
3906 func(static_cast<fileTypeNotificationSound &>(*obj));
3907 }
3908 return true;
3909 case fileTypePhoto::ID:
3910 if constexpr (AllowTag) {
3911 downcast_call_tag<fileTypePhoto> type_tag;
3912 func(type_tag);
3913 } else {
3914 func(static_cast<fileTypePhoto &>(*obj));
3915 }
3916 return true;
3917 case fileTypePhotoStory::ID:
3918 if constexpr (AllowTag) {
3919 downcast_call_tag<fileTypePhotoStory> type_tag;
3920 func(type_tag);
3921 } else {
3922 func(static_cast<fileTypePhotoStory &>(*obj));
3923 }
3924 return true;
3925 case fileTypeProfilePhoto::ID:
3926 if constexpr (AllowTag) {
3927 downcast_call_tag<fileTypeProfilePhoto> type_tag;
3928 func(type_tag);
3929 } else {
3930 func(static_cast<fileTypeProfilePhoto &>(*obj));
3931 }
3932 return true;
3933 case fileTypeSecret::ID:
3934 if constexpr (AllowTag) {
3935 downcast_call_tag<fileTypeSecret> type_tag;
3936 func(type_tag);
3937 } else {
3938 func(static_cast<fileTypeSecret &>(*obj));
3939 }
3940 return true;
3941 case fileTypeSecretThumbnail::ID:
3942 if constexpr (AllowTag) {
3943 downcast_call_tag<fileTypeSecretThumbnail> type_tag;
3944 func(type_tag);
3945 } else {
3946 func(static_cast<fileTypeSecretThumbnail &>(*obj));
3947 }
3948 return true;
3949 case fileTypeSecure::ID:
3950 if constexpr (AllowTag) {
3951 downcast_call_tag<fileTypeSecure> type_tag;
3952 func(type_tag);
3953 } else {
3954 func(static_cast<fileTypeSecure &>(*obj));
3955 }
3956 return true;
3957 case fileTypeSelfDestructingLivePhotoVideo::ID:
3958 if constexpr (AllowTag) {
3959 downcast_call_tag<fileTypeSelfDestructingLivePhotoVideo> type_tag;
3960 func(type_tag);
3961 } else {
3962 func(static_cast<fileTypeSelfDestructingLivePhotoVideo &>(*obj));
3963 }
3964 return true;
3965 case fileTypeSelfDestructingPhoto::ID:
3966 if constexpr (AllowTag) {
3967 downcast_call_tag<fileTypeSelfDestructingPhoto> type_tag;
3968 func(type_tag);
3969 } else {
3970 func(static_cast<fileTypeSelfDestructingPhoto &>(*obj));
3971 }
3972 return true;
3973 case fileTypeSelfDestructingVideo::ID:
3974 if constexpr (AllowTag) {
3975 downcast_call_tag<fileTypeSelfDestructingVideo> type_tag;
3976 func(type_tag);
3977 } else {
3978 func(static_cast<fileTypeSelfDestructingVideo &>(*obj));
3979 }
3980 return true;
3981 case fileTypeSelfDestructingVideoNote::ID:
3982 if constexpr (AllowTag) {
3983 downcast_call_tag<fileTypeSelfDestructingVideoNote> type_tag;
3984 func(type_tag);
3985 } else {
3986 func(static_cast<fileTypeSelfDestructingVideoNote &>(*obj));
3987 }
3988 return true;
3989 case fileTypeSelfDestructingVoiceNote::ID:
3990 if constexpr (AllowTag) {
3991 downcast_call_tag<fileTypeSelfDestructingVoiceNote> type_tag;
3992 func(type_tag);
3993 } else {
3994 func(static_cast<fileTypeSelfDestructingVoiceNote &>(*obj));
3995 }
3996 return true;
3997 case fileTypeSticker::ID:
3998 if constexpr (AllowTag) {
3999 downcast_call_tag<fileTypeSticker> type_tag;
4000 func(type_tag);
4001 } else {
4002 func(static_cast<fileTypeSticker &>(*obj));
4003 }
4004 return true;
4005 case fileTypeThumbnail::ID:
4006 if constexpr (AllowTag) {
4007 downcast_call_tag<fileTypeThumbnail> type_tag;
4008 func(type_tag);
4009 } else {
4010 func(static_cast<fileTypeThumbnail &>(*obj));
4011 }
4012 return true;
4013 case fileTypeUnknown::ID:
4014 if constexpr (AllowTag) {
4015 downcast_call_tag<fileTypeUnknown> type_tag;
4016 func(type_tag);
4017 } else {
4018 func(static_cast<fileTypeUnknown &>(*obj));
4019 }
4020 return true;
4021 case fileTypeVideo::ID:
4022 if constexpr (AllowTag) {
4023 downcast_call_tag<fileTypeVideo> type_tag;
4024 func(type_tag);
4025 } else {
4026 func(static_cast<fileTypeVideo &>(*obj));
4027 }
4028 return true;
4029 case fileTypeVideoNote::ID:
4030 if constexpr (AllowTag) {
4031 downcast_call_tag<fileTypeVideoNote> type_tag;
4032 func(type_tag);
4033 } else {
4034 func(static_cast<fileTypeVideoNote &>(*obj));
4035 }
4036 return true;
4037 case fileTypeVideoStory::ID:
4038 if constexpr (AllowTag) {
4039 downcast_call_tag<fileTypeVideoStory> type_tag;
4040 func(type_tag);
4041 } else {
4042 func(static_cast<fileTypeVideoStory &>(*obj));
4043 }
4044 return true;
4045 case fileTypeVoiceNote::ID:
4046 if constexpr (AllowTag) {
4047 downcast_call_tag<fileTypeVoiceNote> type_tag;
4048 func(type_tag);
4049 } else {
4050 func(static_cast<fileTypeVoiceNote &>(*obj));
4051 }
4052 return true;
4053 case fileTypeWallpaper::ID:
4054 if constexpr (AllowTag) {
4055 downcast_call_tag<fileTypeWallpaper> type_tag;
4056 func(type_tag);
4057 } else {
4058 func(static_cast<fileTypeWallpaper &>(*obj));
4059 }
4060 return true;
4061 case firebaseAuthenticationSettingsAndroid::ID:
4062 if constexpr (AllowTag) {
4063 downcast_call_tag<firebaseAuthenticationSettingsAndroid> type_tag;
4064 func(type_tag);
4065 } else {
4066 func(static_cast<firebaseAuthenticationSettingsAndroid &>(*obj));
4067 }
4068 return true;
4069 case firebaseAuthenticationSettingsIos::ID:
4070 if constexpr (AllowTag) {
4071 downcast_call_tag<firebaseAuthenticationSettingsIos> type_tag;
4072 func(type_tag);
4073 } else {
4074 func(static_cast<firebaseAuthenticationSettingsIos &>(*obj));
4075 }
4076 return true;
4077 case firebaseDeviceVerificationParametersSafetyNet::ID:
4078 if constexpr (AllowTag) {
4079 downcast_call_tag<firebaseDeviceVerificationParametersSafetyNet> type_tag;
4080 func(type_tag);
4081 } else {
4082 func(static_cast<firebaseDeviceVerificationParametersSafetyNet &>(*obj));
4083 }
4084 return true;
4085 case firebaseDeviceVerificationParametersPlayIntegrity::ID:
4086 if constexpr (AllowTag) {
4087 downcast_call_tag<firebaseDeviceVerificationParametersPlayIntegrity> type_tag;
4088 func(type_tag);
4089 } else {
4090 func(static_cast<firebaseDeviceVerificationParametersPlayIntegrity &>(*obj));
4091 }
4092 return true;
4093 case fixedText::ID:
4094 if constexpr (AllowTag) {
4095 downcast_call_tag<fixedText> type_tag;
4096 func(type_tag);
4097 } else {
4098 func(static_cast<fixedText &>(*obj));
4099 }
4100 return true;
4101 case formattedText::ID:
4102 if constexpr (AllowTag) {
4103 downcast_call_tag<formattedText> type_tag;
4104 func(type_tag);
4105 } else {
4106 func(static_cast<formattedText &>(*obj));
4107 }
4108 return true;
4109 case forumTopic::ID:
4110 if constexpr (AllowTag) {
4111 downcast_call_tag<forumTopic> type_tag;
4112 func(type_tag);
4113 } else {
4114 func(static_cast<forumTopic &>(*obj));
4115 }
4116 return true;
4117 case forumTopicIcon::ID:
4118 if constexpr (AllowTag) {
4119 downcast_call_tag<forumTopicIcon> type_tag;
4120 func(type_tag);
4121 } else {
4122 func(static_cast<forumTopicIcon &>(*obj));
4123 }
4124 return true;
4125 case forumTopicInfo::ID:
4126 if constexpr (AllowTag) {
4127 downcast_call_tag<forumTopicInfo> type_tag;
4128 func(type_tag);
4129 } else {
4130 func(static_cast<forumTopicInfo &>(*obj));
4131 }
4132 return true;
4133 case forumTopics::ID:
4134 if constexpr (AllowTag) {
4135 downcast_call_tag<forumTopics> type_tag;
4136 func(type_tag);
4137 } else {
4138 func(static_cast<forumTopics &>(*obj));
4139 }
4140 return true;
4141 case forwardSource::ID:
4142 if constexpr (AllowTag) {
4143 downcast_call_tag<forwardSource> type_tag;
4144 func(type_tag);
4145 } else {
4146 func(static_cast<forwardSource &>(*obj));
4147 }
4148 return true;
4149 case foundAffiliateProgram::ID:
4150 if constexpr (AllowTag) {
4151 downcast_call_tag<foundAffiliateProgram> type_tag;
4152 func(type_tag);
4153 } else {
4154 func(static_cast<foundAffiliateProgram &>(*obj));
4155 }
4156 return true;
4157 case foundAffiliatePrograms::ID:
4158 if constexpr (AllowTag) {
4159 downcast_call_tag<foundAffiliatePrograms> type_tag;
4160 func(type_tag);
4161 } else {
4162 func(static_cast<foundAffiliatePrograms &>(*obj));
4163 }
4164 return true;
4165 case foundChatBoosts::ID:
4166 if constexpr (AllowTag) {
4167 downcast_call_tag<foundChatBoosts> type_tag;
4168 func(type_tag);
4169 } else {
4170 func(static_cast<foundChatBoosts &>(*obj));
4171 }
4172 return true;
4173 case foundChatMessages::ID:
4174 if constexpr (AllowTag) {
4175 downcast_call_tag<foundChatMessages> type_tag;
4176 func(type_tag);
4177 } else {
4178 func(static_cast<foundChatMessages &>(*obj));
4179 }
4180 return true;
4181 case foundFileDownloads::ID:
4182 if constexpr (AllowTag) {
4183 downcast_call_tag<foundFileDownloads> type_tag;
4184 func(type_tag);
4185 } else {
4186 func(static_cast<foundFileDownloads &>(*obj));
4187 }
4188 return true;
4189 case foundMessages::ID:
4190 if constexpr (AllowTag) {
4191 downcast_call_tag<foundMessages> type_tag;
4192 func(type_tag);
4193 } else {
4194 func(static_cast<foundMessages &>(*obj));
4195 }
4196 return true;
4197 case foundPosition::ID:
4198 if constexpr (AllowTag) {
4199 downcast_call_tag<foundPosition> type_tag;
4200 func(type_tag);
4201 } else {
4202 func(static_cast<foundPosition &>(*obj));
4203 }
4204 return true;
4205 case foundPositions::ID:
4206 if constexpr (AllowTag) {
4207 downcast_call_tag<foundPositions> type_tag;
4208 func(type_tag);
4209 } else {
4210 func(static_cast<foundPositions &>(*obj));
4211 }
4212 return true;
4213 case foundPublicPosts::ID:
4214 if constexpr (AllowTag) {
4215 downcast_call_tag<foundPublicPosts> type_tag;
4216 func(type_tag);
4217 } else {
4218 func(static_cast<foundPublicPosts &>(*obj));
4219 }
4220 return true;
4221 case foundStories::ID:
4222 if constexpr (AllowTag) {
4223 downcast_call_tag<foundStories> type_tag;
4224 func(type_tag);
4225 } else {
4226 func(static_cast<foundStories &>(*obj));
4227 }
4228 return true;
4229 case foundUsers::ID:
4230 if constexpr (AllowTag) {
4231 downcast_call_tag<foundUsers> type_tag;
4232 func(type_tag);
4233 } else {
4234 func(static_cast<foundUsers &>(*obj));
4235 }
4236 return true;
4237 case foundWebApp::ID:
4238 if constexpr (AllowTag) {
4239 downcast_call_tag<foundWebApp> type_tag;
4240 func(type_tag);
4241 } else {
4242 func(static_cast<foundWebApp &>(*obj));
4243 }
4244 return true;
4245 case game::ID:
4246 if constexpr (AllowTag) {
4247 downcast_call_tag<game> type_tag;
4248 func(type_tag);
4249 } else {
4250 func(static_cast<game &>(*obj));
4251 }
4252 return true;
4253 case gameHighScore::ID:
4254 if constexpr (AllowTag) {
4255 downcast_call_tag<gameHighScore> type_tag;
4256 func(type_tag);
4257 } else {
4258 func(static_cast<gameHighScore &>(*obj));
4259 }
4260 return true;
4261 case gameHighScores::ID:
4262 if constexpr (AllowTag) {
4263 downcast_call_tag<gameHighScores> type_tag;
4264 func(type_tag);
4265 } else {
4266 func(static_cast<gameHighScores &>(*obj));
4267 }
4268 return true;
4269 case gift::ID:
4270 if constexpr (AllowTag) {
4271 downcast_call_tag<gift> type_tag;
4272 func(type_tag);
4273 } else {
4274 func(static_cast<gift &>(*obj));
4275 }
4276 return true;
4277 case giftAuction::ID:
4278 if constexpr (AllowTag) {
4279 downcast_call_tag<giftAuction> type_tag;
4280 func(type_tag);
4281 } else {
4282 func(static_cast<giftAuction &>(*obj));
4283 }
4284 return true;
4285 case giftAuctionAcquiredGift::ID:
4286 if constexpr (AllowTag) {
4287 downcast_call_tag<giftAuctionAcquiredGift> type_tag;
4288 func(type_tag);
4289 } else {
4290 func(static_cast<giftAuctionAcquiredGift &>(*obj));
4291 }
4292 return true;
4293 case giftAuctionAcquiredGifts::ID:
4294 if constexpr (AllowTag) {
4295 downcast_call_tag<giftAuctionAcquiredGifts> type_tag;
4296 func(type_tag);
4297 } else {
4298 func(static_cast<giftAuctionAcquiredGifts &>(*obj));
4299 }
4300 return true;
4301 case giftAuctionState::ID:
4302 if constexpr (AllowTag) {
4303 downcast_call_tag<giftAuctionState> type_tag;
4304 func(type_tag);
4305 } else {
4306 func(static_cast<giftAuctionState &>(*obj));
4307 }
4308 return true;
4309 case giftBackground::ID:
4310 if constexpr (AllowTag) {
4311 downcast_call_tag<giftBackground> type_tag;
4312 func(type_tag);
4313 } else {
4314 func(static_cast<giftBackground &>(*obj));
4315 }
4316 return true;
4317 case giftChatTheme::ID:
4318 if constexpr (AllowTag) {
4319 downcast_call_tag<giftChatTheme> type_tag;
4320 func(type_tag);
4321 } else {
4322 func(static_cast<giftChatTheme &>(*obj));
4323 }
4324 return true;
4325 case giftChatThemes::ID:
4326 if constexpr (AllowTag) {
4327 downcast_call_tag<giftChatThemes> type_tag;
4328 func(type_tag);
4329 } else {
4330 func(static_cast<giftChatThemes &>(*obj));
4331 }
4332 return true;
4333 case giftCollection::ID:
4334 if constexpr (AllowTag) {
4335 downcast_call_tag<giftCollection> type_tag;
4336 func(type_tag);
4337 } else {
4338 func(static_cast<giftCollection &>(*obj));
4339 }
4340 return true;
4341 case giftCollections::ID:
4342 if constexpr (AllowTag) {
4343 downcast_call_tag<giftCollections> type_tag;
4344 func(type_tag);
4345 } else {
4346 func(static_cast<giftCollections &>(*obj));
4347 }
4348 return true;
4349 case giftForResale::ID:
4350 if constexpr (AllowTag) {
4351 downcast_call_tag<giftForResale> type_tag;
4352 func(type_tag);
4353 } else {
4354 func(static_cast<giftForResale &>(*obj));
4355 }
4356 return true;
4357 case giftForResaleOrderPrice::ID:
4358 if constexpr (AllowTag) {
4359 downcast_call_tag<giftForResaleOrderPrice> type_tag;
4360 func(type_tag);
4361 } else {
4362 func(static_cast<giftForResaleOrderPrice &>(*obj));
4363 }
4364 return true;
4365 case giftForResaleOrderPriceChangeDate::ID:
4366 if constexpr (AllowTag) {
4367 downcast_call_tag<giftForResaleOrderPriceChangeDate> type_tag;
4368 func(type_tag);
4369 } else {
4370 func(static_cast<giftForResaleOrderPriceChangeDate &>(*obj));
4371 }
4372 return true;
4373 case giftForResaleOrderNumber::ID:
4374 if constexpr (AllowTag) {
4375 downcast_call_tag<giftForResaleOrderNumber> type_tag;
4376 func(type_tag);
4377 } else {
4378 func(static_cast<giftForResaleOrderNumber &>(*obj));
4379 }
4380 return true;
4381 case giftPurchaseLimits::ID:
4382 if constexpr (AllowTag) {
4383 downcast_call_tag<giftPurchaseLimits> type_tag;
4384 func(type_tag);
4385 } else {
4386 func(static_cast<giftPurchaseLimits &>(*obj));
4387 }
4388 return true;
4389 case giftPurchaseOfferStatePending::ID:
4390 if constexpr (AllowTag) {
4391 downcast_call_tag<giftPurchaseOfferStatePending> type_tag;
4392 func(type_tag);
4393 } else {
4394 func(static_cast<giftPurchaseOfferStatePending &>(*obj));
4395 }
4396 return true;
4397 case giftPurchaseOfferStateAccepted::ID:
4398 if constexpr (AllowTag) {
4399 downcast_call_tag<giftPurchaseOfferStateAccepted> type_tag;
4400 func(type_tag);
4401 } else {
4402 func(static_cast<giftPurchaseOfferStateAccepted &>(*obj));
4403 }
4404 return true;
4405 case giftPurchaseOfferStateRejected::ID:
4406 if constexpr (AllowTag) {
4407 downcast_call_tag<giftPurchaseOfferStateRejected> type_tag;
4408 func(type_tag);
4409 } else {
4410 func(static_cast<giftPurchaseOfferStateRejected &>(*obj));
4411 }
4412 return true;
4413 case giftResaleParameters::ID:
4414 if constexpr (AllowTag) {
4415 downcast_call_tag<giftResaleParameters> type_tag;
4416 func(type_tag);
4417 } else {
4418 func(static_cast<giftResaleParameters &>(*obj));
4419 }
4420 return true;
4421 case giftResalePriceStar::ID:
4422 if constexpr (AllowTag) {
4423 downcast_call_tag<giftResalePriceStar> type_tag;
4424 func(type_tag);
4425 } else {
4426 func(static_cast<giftResalePriceStar &>(*obj));
4427 }
4428 return true;
4429 case giftResalePriceTon::ID:
4430 if constexpr (AllowTag) {
4431 downcast_call_tag<giftResalePriceTon> type_tag;
4432 func(type_tag);
4433 } else {
4434 func(static_cast<giftResalePriceTon &>(*obj));
4435 }
4436 return true;
4437 case giftResaleResultOk::ID:
4438 if constexpr (AllowTag) {
4439 downcast_call_tag<giftResaleResultOk> type_tag;
4440 func(type_tag);
4441 } else {
4442 func(static_cast<giftResaleResultOk &>(*obj));
4443 }
4444 return true;
4445 case giftResaleResultPriceIncreased::ID:
4446 if constexpr (AllowTag) {
4447 downcast_call_tag<giftResaleResultPriceIncreased> type_tag;
4448 func(type_tag);
4449 } else {
4450 func(static_cast<giftResaleResultPriceIncreased &>(*obj));
4451 }
4452 return true;
4453 case giftSettings::ID:
4454 if constexpr (AllowTag) {
4455 downcast_call_tag<giftSettings> type_tag;
4456 func(type_tag);
4457 } else {
4458 func(static_cast<giftSettings &>(*obj));
4459 }
4460 return true;
4461 case giftUpgradePreview::ID:
4462 if constexpr (AllowTag) {
4463 downcast_call_tag<giftUpgradePreview> type_tag;
4464 func(type_tag);
4465 } else {
4466 func(static_cast<giftUpgradePreview &>(*obj));
4467 }
4468 return true;
4469 case giftUpgradePrice::ID:
4470 if constexpr (AllowTag) {
4471 downcast_call_tag<giftUpgradePrice> type_tag;
4472 func(type_tag);
4473 } else {
4474 func(static_cast<giftUpgradePrice &>(*obj));
4475 }
4476 return true;
4477 case giftUpgradeVariants::ID:
4478 if constexpr (AllowTag) {
4479 downcast_call_tag<giftUpgradeVariants> type_tag;
4480 func(type_tag);
4481 } else {
4482 func(static_cast<giftUpgradeVariants &>(*obj));
4483 }
4484 return true;
4485 case giftsForCrafting::ID:
4486 if constexpr (AllowTag) {
4487 downcast_call_tag<giftsForCrafting> type_tag;
4488 func(type_tag);
4489 } else {
4490 func(static_cast<giftsForCrafting &>(*obj));
4491 }
4492 return true;
4493 case giftsForResale::ID:
4494 if constexpr (AllowTag) {
4495 downcast_call_tag<giftsForResale> type_tag;
4496 func(type_tag);
4497 } else {
4498 func(static_cast<giftsForResale &>(*obj));
4499 }
4500 return true;
4501 case giveawayInfoOngoing::ID:
4502 if constexpr (AllowTag) {
4503 downcast_call_tag<giveawayInfoOngoing> type_tag;
4504 func(type_tag);
4505 } else {
4506 func(static_cast<giveawayInfoOngoing &>(*obj));
4507 }
4508 return true;
4509 case giveawayInfoCompleted::ID:
4510 if constexpr (AllowTag) {
4511 downcast_call_tag<giveawayInfoCompleted> type_tag;
4512 func(type_tag);
4513 } else {
4514 func(static_cast<giveawayInfoCompleted &>(*obj));
4515 }
4516 return true;
4517 case giveawayParameters::ID:
4518 if constexpr (AllowTag) {
4519 downcast_call_tag<giveawayParameters> type_tag;
4520 func(type_tag);
4521 } else {
4522 func(static_cast<giveawayParameters &>(*obj));
4523 }
4524 return true;
4525 case giveawayParticipantStatusEligible::ID:
4526 if constexpr (AllowTag) {
4527 downcast_call_tag<giveawayParticipantStatusEligible> type_tag;
4528 func(type_tag);
4529 } else {
4530 func(static_cast<giveawayParticipantStatusEligible &>(*obj));
4531 }
4532 return true;
4533 case giveawayParticipantStatusParticipating::ID:
4534 if constexpr (AllowTag) {
4535 downcast_call_tag<giveawayParticipantStatusParticipating> type_tag;
4536 func(type_tag);
4537 } else {
4538 func(static_cast<giveawayParticipantStatusParticipating &>(*obj));
4539 }
4540 return true;
4541 case giveawayParticipantStatusAlreadyWasMember::ID:
4542 if constexpr (AllowTag) {
4543 downcast_call_tag<giveawayParticipantStatusAlreadyWasMember> type_tag;
4544 func(type_tag);
4545 } else {
4546 func(static_cast<giveawayParticipantStatusAlreadyWasMember &>(*obj));
4547 }
4548 return true;
4549 case giveawayParticipantStatusAdministrator::ID:
4550 if constexpr (AllowTag) {
4551 downcast_call_tag<giveawayParticipantStatusAdministrator> type_tag;
4552 func(type_tag);
4553 } else {
4554 func(static_cast<giveawayParticipantStatusAdministrator &>(*obj));
4555 }
4556 return true;
4557 case giveawayParticipantStatusDisallowedCountry::ID:
4558 if constexpr (AllowTag) {
4559 downcast_call_tag<giveawayParticipantStatusDisallowedCountry> type_tag;
4560 func(type_tag);
4561 } else {
4562 func(static_cast<giveawayParticipantStatusDisallowedCountry &>(*obj));
4563 }
4564 return true;
4565 case giveawayPrizePremium::ID:
4566 if constexpr (AllowTag) {
4567 downcast_call_tag<giveawayPrizePremium> type_tag;
4568 func(type_tag);
4569 } else {
4570 func(static_cast<giveawayPrizePremium &>(*obj));
4571 }
4572 return true;
4573 case giveawayPrizeStars::ID:
4574 if constexpr (AllowTag) {
4575 downcast_call_tag<giveawayPrizeStars> type_tag;
4576 func(type_tag);
4577 } else {
4578 func(static_cast<giveawayPrizeStars &>(*obj));
4579 }
4580 return true;
4581 case groupCall::ID:
4582 if constexpr (AllowTag) {
4583 downcast_call_tag<groupCall> type_tag;
4584 func(type_tag);
4585 } else {
4586 func(static_cast<groupCall &>(*obj));
4587 }
4588 return true;
4589 case groupCallDataChannelMain::ID:
4590 if constexpr (AllowTag) {
4591 downcast_call_tag<groupCallDataChannelMain> type_tag;
4592 func(type_tag);
4593 } else {
4594 func(static_cast<groupCallDataChannelMain &>(*obj));
4595 }
4596 return true;
4597 case groupCallDataChannelScreenSharing::ID:
4598 if constexpr (AllowTag) {
4599 downcast_call_tag<groupCallDataChannelScreenSharing> type_tag;
4600 func(type_tag);
4601 } else {
4602 func(static_cast<groupCallDataChannelScreenSharing &>(*obj));
4603 }
4604 return true;
4605 case groupCallId::ID:
4606 if constexpr (AllowTag) {
4607 downcast_call_tag<groupCallId> type_tag;
4608 func(type_tag);
4609 } else {
4610 func(static_cast<groupCallId &>(*obj));
4611 }
4612 return true;
4613 case groupCallInfo::ID:
4614 if constexpr (AllowTag) {
4615 downcast_call_tag<groupCallInfo> type_tag;
4616 func(type_tag);
4617 } else {
4618 func(static_cast<groupCallInfo &>(*obj));
4619 }
4620 return true;
4621 case groupCallJoinParameters::ID:
4622 if constexpr (AllowTag) {
4623 downcast_call_tag<groupCallJoinParameters> type_tag;
4624 func(type_tag);
4625 } else {
4626 func(static_cast<groupCallJoinParameters &>(*obj));
4627 }
4628 return true;
4629 case groupCallMessage::ID:
4630 if constexpr (AllowTag) {
4631 downcast_call_tag<groupCallMessage> type_tag;
4632 func(type_tag);
4633 } else {
4634 func(static_cast<groupCallMessage &>(*obj));
4635 }
4636 return true;
4637 case groupCallMessageLevel::ID:
4638 if constexpr (AllowTag) {
4639 downcast_call_tag<groupCallMessageLevel> type_tag;
4640 func(type_tag);
4641 } else {
4642 func(static_cast<groupCallMessageLevel &>(*obj));
4643 }
4644 return true;
4645 case groupCallParticipant::ID:
4646 if constexpr (AllowTag) {
4647 downcast_call_tag<groupCallParticipant> type_tag;
4648 func(type_tag);
4649 } else {
4650 func(static_cast<groupCallParticipant &>(*obj));
4651 }
4652 return true;
4653 case groupCallParticipantVideoInfo::ID:
4654 if constexpr (AllowTag) {
4655 downcast_call_tag<groupCallParticipantVideoInfo> type_tag;
4656 func(type_tag);
4657 } else {
4658 func(static_cast<groupCallParticipantVideoInfo &>(*obj));
4659 }
4660 return true;
4661 case groupCallParticipants::ID:
4662 if constexpr (AllowTag) {
4663 downcast_call_tag<groupCallParticipants> type_tag;
4664 func(type_tag);
4665 } else {
4666 func(static_cast<groupCallParticipants &>(*obj));
4667 }
4668 return true;
4669 case groupCallRecentSpeaker::ID:
4670 if constexpr (AllowTag) {
4671 downcast_call_tag<groupCallRecentSpeaker> type_tag;
4672 func(type_tag);
4673 } else {
4674 func(static_cast<groupCallRecentSpeaker &>(*obj));
4675 }
4676 return true;
4677 case groupCallStream::ID:
4678 if constexpr (AllowTag) {
4679 downcast_call_tag<groupCallStream> type_tag;
4680 func(type_tag);
4681 } else {
4682 func(static_cast<groupCallStream &>(*obj));
4683 }
4684 return true;
4685 case groupCallStreams::ID:
4686 if constexpr (AllowTag) {
4687 downcast_call_tag<groupCallStreams> type_tag;
4688 func(type_tag);
4689 } else {
4690 func(static_cast<groupCallStreams &>(*obj));
4691 }
4692 return true;
4693 case groupCallVideoQualityThumbnail::ID:
4694 if constexpr (AllowTag) {
4695 downcast_call_tag<groupCallVideoQualityThumbnail> type_tag;
4696 func(type_tag);
4697 } else {
4698 func(static_cast<groupCallVideoQualityThumbnail &>(*obj));
4699 }
4700 return true;
4701 case groupCallVideoQualityMedium::ID:
4702 if constexpr (AllowTag) {
4703 downcast_call_tag<groupCallVideoQualityMedium> type_tag;
4704 func(type_tag);
4705 } else {
4706 func(static_cast<groupCallVideoQualityMedium &>(*obj));
4707 }
4708 return true;
4709 case groupCallVideoQualityFull::ID:
4710 if constexpr (AllowTag) {
4711 downcast_call_tag<groupCallVideoQualityFull> type_tag;
4712 func(type_tag);
4713 } else {
4714 func(static_cast<groupCallVideoQualityFull &>(*obj));
4715 }
4716 return true;
4717 case groupCallVideoSourceGroup::ID:
4718 if constexpr (AllowTag) {
4719 downcast_call_tag<groupCallVideoSourceGroup> type_tag;
4720 func(type_tag);
4721 } else {
4722 func(static_cast<groupCallVideoSourceGroup &>(*obj));
4723 }
4724 return true;
4725 case hashtags::ID:
4726 if constexpr (AllowTag) {
4727 downcast_call_tag<hashtags> type_tag;
4728 func(type_tag);
4729 } else {
4730 func(static_cast<hashtags &>(*obj));
4731 }
4732 return true;
4733 case httpUrl::ID:
4734 if constexpr (AllowTag) {
4735 downcast_call_tag<httpUrl> type_tag;
4736 func(type_tag);
4737 } else {
4738 func(static_cast<httpUrl &>(*obj));
4739 }
4740 return true;
4741 case identityDocument::ID:
4742 if constexpr (AllowTag) {
4743 downcast_call_tag<identityDocument> type_tag;
4744 func(type_tag);
4745 } else {
4746 func(static_cast<identityDocument &>(*obj));
4747 }
4748 return true;
4749 case importedContact::ID:
4750 if constexpr (AllowTag) {
4751 downcast_call_tag<importedContact> type_tag;
4752 func(type_tag);
4753 } else {
4754 func(static_cast<importedContact &>(*obj));
4755 }
4756 return true;
4757 case importedContacts::ID:
4758 if constexpr (AllowTag) {
4759 downcast_call_tag<importedContacts> type_tag;
4760 func(type_tag);
4761 } else {
4762 func(static_cast<importedContacts &>(*obj));
4763 }
4764 return true;
4765 case inlineKeyboardButton::ID:
4766 if constexpr (AllowTag) {
4767 downcast_call_tag<inlineKeyboardButton> type_tag;
4768 func(type_tag);
4769 } else {
4770 func(static_cast<inlineKeyboardButton &>(*obj));
4771 }
4772 return true;
4773 case inlineKeyboardButtonTypeUrl::ID:
4774 if constexpr (AllowTag) {
4775 downcast_call_tag<inlineKeyboardButtonTypeUrl> type_tag;
4776 func(type_tag);
4777 } else {
4778 func(static_cast<inlineKeyboardButtonTypeUrl &>(*obj));
4779 }
4780 return true;
4781 case inlineKeyboardButtonTypeLoginUrl::ID:
4782 if constexpr (AllowTag) {
4783 downcast_call_tag<inlineKeyboardButtonTypeLoginUrl> type_tag;
4784 func(type_tag);
4785 } else {
4786 func(static_cast<inlineKeyboardButtonTypeLoginUrl &>(*obj));
4787 }
4788 return true;
4789 case inlineKeyboardButtonTypeWebApp::ID:
4790 if constexpr (AllowTag) {
4791 downcast_call_tag<inlineKeyboardButtonTypeWebApp> type_tag;
4792 func(type_tag);
4793 } else {
4794 func(static_cast<inlineKeyboardButtonTypeWebApp &>(*obj));
4795 }
4796 return true;
4797 case inlineKeyboardButtonTypeCallback::ID:
4798 if constexpr (AllowTag) {
4799 downcast_call_tag<inlineKeyboardButtonTypeCallback> type_tag;
4800 func(type_tag);
4801 } else {
4802 func(static_cast<inlineKeyboardButtonTypeCallback &>(*obj));
4803 }
4804 return true;
4805 case inlineKeyboardButtonTypeCallbackWithPassword::ID:
4806 if constexpr (AllowTag) {
4807 downcast_call_tag<inlineKeyboardButtonTypeCallbackWithPassword> type_tag;
4808 func(type_tag);
4809 } else {
4810 func(static_cast<inlineKeyboardButtonTypeCallbackWithPassword &>(*obj));
4811 }
4812 return true;
4813 case inlineKeyboardButtonTypeCallbackGame::ID:
4814 if constexpr (AllowTag) {
4815 downcast_call_tag<inlineKeyboardButtonTypeCallbackGame> type_tag;
4816 func(type_tag);
4817 } else {
4818 func(static_cast<inlineKeyboardButtonTypeCallbackGame &>(*obj));
4819 }
4820 return true;
4821 case inlineKeyboardButtonTypeSwitchInline::ID:
4822 if constexpr (AllowTag) {
4823 downcast_call_tag<inlineKeyboardButtonTypeSwitchInline> type_tag;
4824 func(type_tag);
4825 } else {
4826 func(static_cast<inlineKeyboardButtonTypeSwitchInline &>(*obj));
4827 }
4828 return true;
4829 case inlineKeyboardButtonTypeBuy::ID:
4830 if constexpr (AllowTag) {
4831 downcast_call_tag<inlineKeyboardButtonTypeBuy> type_tag;
4832 func(type_tag);
4833 } else {
4834 func(static_cast<inlineKeyboardButtonTypeBuy &>(*obj));
4835 }
4836 return true;
4837 case inlineKeyboardButtonTypeUser::ID:
4838 if constexpr (AllowTag) {
4839 downcast_call_tag<inlineKeyboardButtonTypeUser> type_tag;
4840 func(type_tag);
4841 } else {
4842 func(static_cast<inlineKeyboardButtonTypeUser &>(*obj));
4843 }
4844 return true;
4845 case inlineKeyboardButtonTypeCopyText::ID:
4846 if constexpr (AllowTag) {
4847 downcast_call_tag<inlineKeyboardButtonTypeCopyText> type_tag;
4848 func(type_tag);
4849 } else {
4850 func(static_cast<inlineKeyboardButtonTypeCopyText &>(*obj));
4851 }
4852 return true;
4853 case inlineMessageId::ID:
4854 if constexpr (AllowTag) {
4855 downcast_call_tag<inlineMessageId> type_tag;
4856 func(type_tag);
4857 } else {
4858 func(static_cast<inlineMessageId &>(*obj));
4859 }
4860 return true;
4861 case inlineQueryResultArticle::ID:
4862 if constexpr (AllowTag) {
4863 downcast_call_tag<inlineQueryResultArticle> type_tag;
4864 func(type_tag);
4865 } else {
4866 func(static_cast<inlineQueryResultArticle &>(*obj));
4867 }
4868 return true;
4869 case inlineQueryResultContact::ID:
4870 if constexpr (AllowTag) {
4871 downcast_call_tag<inlineQueryResultContact> type_tag;
4872 func(type_tag);
4873 } else {
4874 func(static_cast<inlineQueryResultContact &>(*obj));
4875 }
4876 return true;
4877 case inlineQueryResultLocation::ID:
4878 if constexpr (AllowTag) {
4879 downcast_call_tag<inlineQueryResultLocation> type_tag;
4880 func(type_tag);
4881 } else {
4882 func(static_cast<inlineQueryResultLocation &>(*obj));
4883 }
4884 return true;
4885 case inlineQueryResultVenue::ID:
4886 if constexpr (AllowTag) {
4887 downcast_call_tag<inlineQueryResultVenue> type_tag;
4888 func(type_tag);
4889 } else {
4890 func(static_cast<inlineQueryResultVenue &>(*obj));
4891 }
4892 return true;
4893 case inlineQueryResultGame::ID:
4894 if constexpr (AllowTag) {
4895 downcast_call_tag<inlineQueryResultGame> type_tag;
4896 func(type_tag);
4897 } else {
4898 func(static_cast<inlineQueryResultGame &>(*obj));
4899 }
4900 return true;
4901 case inlineQueryResultAnimation::ID:
4902 if constexpr (AllowTag) {
4903 downcast_call_tag<inlineQueryResultAnimation> type_tag;
4904 func(type_tag);
4905 } else {
4906 func(static_cast<inlineQueryResultAnimation &>(*obj));
4907 }
4908 return true;
4909 case inlineQueryResultAudio::ID:
4910 if constexpr (AllowTag) {
4911 downcast_call_tag<inlineQueryResultAudio> type_tag;
4912 func(type_tag);
4913 } else {
4914 func(static_cast<inlineQueryResultAudio &>(*obj));
4915 }
4916 return true;
4917 case inlineQueryResultDocument::ID:
4918 if constexpr (AllowTag) {
4919 downcast_call_tag<inlineQueryResultDocument> type_tag;
4920 func(type_tag);
4921 } else {
4922 func(static_cast<inlineQueryResultDocument &>(*obj));
4923 }
4924 return true;
4925 case inlineQueryResultPhoto::ID:
4926 if constexpr (AllowTag) {
4927 downcast_call_tag<inlineQueryResultPhoto> type_tag;
4928 func(type_tag);
4929 } else {
4930 func(static_cast<inlineQueryResultPhoto &>(*obj));
4931 }
4932 return true;
4933 case inlineQueryResultSticker::ID:
4934 if constexpr (AllowTag) {
4935 downcast_call_tag<inlineQueryResultSticker> type_tag;
4936 func(type_tag);
4937 } else {
4938 func(static_cast<inlineQueryResultSticker &>(*obj));
4939 }
4940 return true;
4941 case inlineQueryResultVideo::ID:
4942 if constexpr (AllowTag) {
4943 downcast_call_tag<inlineQueryResultVideo> type_tag;
4944 func(type_tag);
4945 } else {
4946 func(static_cast<inlineQueryResultVideo &>(*obj));
4947 }
4948 return true;
4949 case inlineQueryResultVoiceNote::ID:
4950 if constexpr (AllowTag) {
4951 downcast_call_tag<inlineQueryResultVoiceNote> type_tag;
4952 func(type_tag);
4953 } else {
4954 func(static_cast<inlineQueryResultVoiceNote &>(*obj));
4955 }
4956 return true;
4957 case inlineQueryResults::ID:
4958 if constexpr (AllowTag) {
4959 downcast_call_tag<inlineQueryResults> type_tag;
4960 func(type_tag);
4961 } else {
4962 func(static_cast<inlineQueryResults &>(*obj));
4963 }
4964 return true;
4965 case inlineQueryResultsButton::ID:
4966 if constexpr (AllowTag) {
4967 downcast_call_tag<inlineQueryResultsButton> type_tag;
4968 func(type_tag);
4969 } else {
4970 func(static_cast<inlineQueryResultsButton &>(*obj));
4971 }
4972 return true;
4973 case inlineQueryResultsButtonTypeStartBot::ID:
4974 if constexpr (AllowTag) {
4975 downcast_call_tag<inlineQueryResultsButtonTypeStartBot> type_tag;
4976 func(type_tag);
4977 } else {
4978 func(static_cast<inlineQueryResultsButtonTypeStartBot &>(*obj));
4979 }
4980 return true;
4981 case inlineQueryResultsButtonTypeWebApp::ID:
4982 if constexpr (AllowTag) {
4983 downcast_call_tag<inlineQueryResultsButtonTypeWebApp> type_tag;
4984 func(type_tag);
4985 } else {
4986 func(static_cast<inlineQueryResultsButtonTypeWebApp &>(*obj));
4987 }
4988 return true;
4989 case inputBackgroundLocal::ID:
4990 if constexpr (AllowTag) {
4991 downcast_call_tag<inputBackgroundLocal> type_tag;
4992 func(type_tag);
4993 } else {
4994 func(static_cast<inputBackgroundLocal &>(*obj));
4995 }
4996 return true;
4997 case inputBackgroundRemote::ID:
4998 if constexpr (AllowTag) {
4999 downcast_call_tag<inputBackgroundRemote> type_tag;
5000 func(type_tag);
5001 } else {
5002 func(static_cast<inputBackgroundRemote &>(*obj));
5003 }
5004 return true;
5005 case inputBackgroundPrevious::ID:
5006 if constexpr (AllowTag) {
5007 downcast_call_tag<inputBackgroundPrevious> type_tag;
5008 func(type_tag);
5009 } else {
5010 func(static_cast<inputBackgroundPrevious &>(*obj));
5011 }
5012 return true;
5013 case inputBusinessChatLink::ID:
5014 if constexpr (AllowTag) {
5015 downcast_call_tag<inputBusinessChatLink> type_tag;
5016 func(type_tag);
5017 } else {
5018 func(static_cast<inputBusinessChatLink &>(*obj));
5019 }
5020 return true;
5021 case inputBusinessStartPage::ID:
5022 if constexpr (AllowTag) {
5023 downcast_call_tag<inputBusinessStartPage> type_tag;
5024 func(type_tag);
5025 } else {
5026 func(static_cast<inputBusinessStartPage &>(*obj));
5027 }
5028 return true;
5029 case inputCallDiscarded::ID:
5030 if constexpr (AllowTag) {
5031 downcast_call_tag<inputCallDiscarded> type_tag;
5032 func(type_tag);
5033 } else {
5034 func(static_cast<inputCallDiscarded &>(*obj));
5035 }
5036 return true;
5037 case inputCallFromMessage::ID:
5038 if constexpr (AllowTag) {
5039 downcast_call_tag<inputCallFromMessage> type_tag;
5040 func(type_tag);
5041 } else {
5042 func(static_cast<inputCallFromMessage &>(*obj));
5043 }
5044 return true;
5045 case inputChatPhotoPrevious::ID:
5046 if constexpr (AllowTag) {
5047 downcast_call_tag<inputChatPhotoPrevious> type_tag;
5048 func(type_tag);
5049 } else {
5050 func(static_cast<inputChatPhotoPrevious &>(*obj));
5051 }
5052 return true;
5053 case inputChatPhotoStatic::ID:
5054 if constexpr (AllowTag) {
5055 downcast_call_tag<inputChatPhotoStatic> type_tag;
5056 func(type_tag);
5057 } else {
5058 func(static_cast<inputChatPhotoStatic &>(*obj));
5059 }
5060 return true;
5061 case inputChatPhotoAnimation::ID:
5062 if constexpr (AllowTag) {
5063 downcast_call_tag<inputChatPhotoAnimation> type_tag;
5064 func(type_tag);
5065 } else {
5066 func(static_cast<inputChatPhotoAnimation &>(*obj));
5067 }
5068 return true;
5069 case inputChatPhotoSticker::ID:
5070 if constexpr (AllowTag) {
5071 downcast_call_tag<inputChatPhotoSticker> type_tag;
5072 func(type_tag);
5073 } else {
5074 func(static_cast<inputChatPhotoSticker &>(*obj));
5075 }
5076 return true;
5077 case inputChatThemeEmoji::ID:
5078 if constexpr (AllowTag) {
5079 downcast_call_tag<inputChatThemeEmoji> type_tag;
5080 func(type_tag);
5081 } else {
5082 func(static_cast<inputChatThemeEmoji &>(*obj));
5083 }
5084 return true;
5085 case inputChatThemeGift::ID:
5086 if constexpr (AllowTag) {
5087 downcast_call_tag<inputChatThemeGift> type_tag;
5088 func(type_tag);
5089 } else {
5090 func(static_cast<inputChatThemeGift &>(*obj));
5091 }
5092 return true;
5093 case inputChecklist::ID:
5094 if constexpr (AllowTag) {
5095 downcast_call_tag<inputChecklist> type_tag;
5096 func(type_tag);
5097 } else {
5098 func(static_cast<inputChecklist &>(*obj));
5099 }
5100 return true;
5101 case inputChecklistTask::ID:
5102 if constexpr (AllowTag) {
5103 downcast_call_tag<inputChecklistTask> type_tag;
5104 func(type_tag);
5105 } else {
5106 func(static_cast<inputChecklistTask &>(*obj));
5107 }
5108 return true;
5109 case inputCredentialsSaved::ID:
5110 if constexpr (AllowTag) {
5111 downcast_call_tag<inputCredentialsSaved> type_tag;
5112 func(type_tag);
5113 } else {
5114 func(static_cast<inputCredentialsSaved &>(*obj));
5115 }
5116 return true;
5117 case inputCredentialsNew::ID:
5118 if constexpr (AllowTag) {
5119 downcast_call_tag<inputCredentialsNew> type_tag;
5120 func(type_tag);
5121 } else {
5122 func(static_cast<inputCredentialsNew &>(*obj));
5123 }
5124 return true;
5125 case inputCredentialsApplePay::ID:
5126 if constexpr (AllowTag) {
5127 downcast_call_tag<inputCredentialsApplePay> type_tag;
5128 func(type_tag);
5129 } else {
5130 func(static_cast<inputCredentialsApplePay &>(*obj));
5131 }
5132 return true;
5133 case inputCredentialsGooglePay::ID:
5134 if constexpr (AllowTag) {
5135 downcast_call_tag<inputCredentialsGooglePay> type_tag;
5136 func(type_tag);
5137 } else {
5138 func(static_cast<inputCredentialsGooglePay &>(*obj));
5139 }
5140 return true;
5141 case inputFileId::ID:
5142 if constexpr (AllowTag) {
5143 downcast_call_tag<inputFileId> type_tag;
5144 func(type_tag);
5145 } else {
5146 func(static_cast<inputFileId &>(*obj));
5147 }
5148 return true;
5149 case inputFileRemote::ID:
5150 if constexpr (AllowTag) {
5151 downcast_call_tag<inputFileRemote> type_tag;
5152 func(type_tag);
5153 } else {
5154 func(static_cast<inputFileRemote &>(*obj));
5155 }
5156 return true;
5157 case inputFileLocal::ID:
5158 if constexpr (AllowTag) {
5159 downcast_call_tag<inputFileLocal> type_tag;
5160 func(type_tag);
5161 } else {
5162 func(static_cast<inputFileLocal &>(*obj));
5163 }
5164 return true;
5165 case inputFileGenerated::ID:
5166 if constexpr (AllowTag) {
5167 downcast_call_tag<inputFileGenerated> type_tag;
5168 func(type_tag);
5169 } else {
5170 func(static_cast<inputFileGenerated &>(*obj));
5171 }
5172 return true;
5173 case inputGroupCallLink::ID:
5174 if constexpr (AllowTag) {
5175 downcast_call_tag<inputGroupCallLink> type_tag;
5176 func(type_tag);
5177 } else {
5178 func(static_cast<inputGroupCallLink &>(*obj));
5179 }
5180 return true;
5181 case inputGroupCallMessage::ID:
5182 if constexpr (AllowTag) {
5183 downcast_call_tag<inputGroupCallMessage> type_tag;
5184 func(type_tag);
5185 } else {
5186 func(static_cast<inputGroupCallMessage &>(*obj));
5187 }
5188 return true;
5189 case inputIdentityDocument::ID:
5190 if constexpr (AllowTag) {
5191 downcast_call_tag<inputIdentityDocument> type_tag;
5192 func(type_tag);
5193 } else {
5194 func(static_cast<inputIdentityDocument &>(*obj));
5195 }
5196 return true;
5197 case inputInlineQueryResultAnimation::ID:
5198 if constexpr (AllowTag) {
5199 downcast_call_tag<inputInlineQueryResultAnimation> type_tag;
5200 func(type_tag);
5201 } else {
5202 func(static_cast<inputInlineQueryResultAnimation &>(*obj));
5203 }
5204 return true;
5205 case inputInlineQueryResultArticle::ID:
5206 if constexpr (AllowTag) {
5207 downcast_call_tag<inputInlineQueryResultArticle> type_tag;
5208 func(type_tag);
5209 } else {
5210 func(static_cast<inputInlineQueryResultArticle &>(*obj));
5211 }
5212 return true;
5213 case inputInlineQueryResultAudio::ID:
5214 if constexpr (AllowTag) {
5215 downcast_call_tag<inputInlineQueryResultAudio> type_tag;
5216 func(type_tag);
5217 } else {
5218 func(static_cast<inputInlineQueryResultAudio &>(*obj));
5219 }
5220 return true;
5221 case inputInlineQueryResultContact::ID:
5222 if constexpr (AllowTag) {
5223 downcast_call_tag<inputInlineQueryResultContact> type_tag;
5224 func(type_tag);
5225 } else {
5226 func(static_cast<inputInlineQueryResultContact &>(*obj));
5227 }
5228 return true;
5229 case inputInlineQueryResultDocument::ID:
5230 if constexpr (AllowTag) {
5231 downcast_call_tag<inputInlineQueryResultDocument> type_tag;
5232 func(type_tag);
5233 } else {
5234 func(static_cast<inputInlineQueryResultDocument &>(*obj));
5235 }
5236 return true;
5237 case inputInlineQueryResultGame::ID:
5238 if constexpr (AllowTag) {
5239 downcast_call_tag<inputInlineQueryResultGame> type_tag;
5240 func(type_tag);
5241 } else {
5242 func(static_cast<inputInlineQueryResultGame &>(*obj));
5243 }
5244 return true;
5245 case inputInlineQueryResultLocation::ID:
5246 if constexpr (AllowTag) {
5247 downcast_call_tag<inputInlineQueryResultLocation> type_tag;
5248 func(type_tag);
5249 } else {
5250 func(static_cast<inputInlineQueryResultLocation &>(*obj));
5251 }
5252 return true;
5253 case inputInlineQueryResultPhoto::ID:
5254 if constexpr (AllowTag) {
5255 downcast_call_tag<inputInlineQueryResultPhoto> type_tag;
5256 func(type_tag);
5257 } else {
5258 func(static_cast<inputInlineQueryResultPhoto &>(*obj));
5259 }
5260 return true;
5261 case inputInlineQueryResultSticker::ID:
5262 if constexpr (AllowTag) {
5263 downcast_call_tag<inputInlineQueryResultSticker> type_tag;
5264 func(type_tag);
5265 } else {
5266 func(static_cast<inputInlineQueryResultSticker &>(*obj));
5267 }
5268 return true;
5269 case inputInlineQueryResultVenue::ID:
5270 if constexpr (AllowTag) {
5271 downcast_call_tag<inputInlineQueryResultVenue> type_tag;
5272 func(type_tag);
5273 } else {
5274 func(static_cast<inputInlineQueryResultVenue &>(*obj));
5275 }
5276 return true;
5277 case inputInlineQueryResultVideo::ID:
5278 if constexpr (AllowTag) {
5279 downcast_call_tag<inputInlineQueryResultVideo> type_tag;
5280 func(type_tag);
5281 } else {
5282 func(static_cast<inputInlineQueryResultVideo &>(*obj));
5283 }
5284 return true;
5285 case inputInlineQueryResultVoiceNote::ID:
5286 if constexpr (AllowTag) {
5287 downcast_call_tag<inputInlineQueryResultVoiceNote> type_tag;
5288 func(type_tag);
5289 } else {
5290 func(static_cast<inputInlineQueryResultVoiceNote &>(*obj));
5291 }
5292 return true;
5293 case inputInvoiceMessage::ID:
5294 if constexpr (AllowTag) {
5295 downcast_call_tag<inputInvoiceMessage> type_tag;
5296 func(type_tag);
5297 } else {
5298 func(static_cast<inputInvoiceMessage &>(*obj));
5299 }
5300 return true;
5301 case inputInvoiceName::ID:
5302 if constexpr (AllowTag) {
5303 downcast_call_tag<inputInvoiceName> type_tag;
5304 func(type_tag);
5305 } else {
5306 func(static_cast<inputInvoiceName &>(*obj));
5307 }
5308 return true;
5309 case inputInvoiceTelegram::ID:
5310 if constexpr (AllowTag) {
5311 downcast_call_tag<inputInvoiceTelegram> type_tag;
5312 func(type_tag);
5313 } else {
5314 func(static_cast<inputInvoiceTelegram &>(*obj));
5315 }
5316 return true;
5317 case inputMessageText::ID:
5318 if constexpr (AllowTag) {
5319 downcast_call_tag<inputMessageText> type_tag;
5320 func(type_tag);
5321 } else {
5322 func(static_cast<inputMessageText &>(*obj));
5323 }
5324 return true;
5325 case inputMessageAnimation::ID:
5326 if constexpr (AllowTag) {
5327 downcast_call_tag<inputMessageAnimation> type_tag;
5328 func(type_tag);
5329 } else {
5330 func(static_cast<inputMessageAnimation &>(*obj));
5331 }
5332 return true;
5333 case inputMessageAudio::ID:
5334 if constexpr (AllowTag) {
5335 downcast_call_tag<inputMessageAudio> type_tag;
5336 func(type_tag);
5337 } else {
5338 func(static_cast<inputMessageAudio &>(*obj));
5339 }
5340 return true;
5341 case inputMessageDocument::ID:
5342 if constexpr (AllowTag) {
5343 downcast_call_tag<inputMessageDocument> type_tag;
5344 func(type_tag);
5345 } else {
5346 func(static_cast<inputMessageDocument &>(*obj));
5347 }
5348 return true;
5349 case inputMessagePaidMedia::ID:
5350 if constexpr (AllowTag) {
5351 downcast_call_tag<inputMessagePaidMedia> type_tag;
5352 func(type_tag);
5353 } else {
5354 func(static_cast<inputMessagePaidMedia &>(*obj));
5355 }
5356 return true;
5357 case inputMessagePhoto::ID:
5358 if constexpr (AllowTag) {
5359 downcast_call_tag<inputMessagePhoto> type_tag;
5360 func(type_tag);
5361 } else {
5362 func(static_cast<inputMessagePhoto &>(*obj));
5363 }
5364 return true;
5365 case inputMessageSticker::ID:
5366 if constexpr (AllowTag) {
5367 downcast_call_tag<inputMessageSticker> type_tag;
5368 func(type_tag);
5369 } else {
5370 func(static_cast<inputMessageSticker &>(*obj));
5371 }
5372 return true;
5373 case inputMessageVideo::ID:
5374 if constexpr (AllowTag) {
5375 downcast_call_tag<inputMessageVideo> type_tag;
5376 func(type_tag);
5377 } else {
5378 func(static_cast<inputMessageVideo &>(*obj));
5379 }
5380 return true;
5381 case inputMessageVideoNote::ID:
5382 if constexpr (AllowTag) {
5383 downcast_call_tag<inputMessageVideoNote> type_tag;
5384 func(type_tag);
5385 } else {
5386 func(static_cast<inputMessageVideoNote &>(*obj));
5387 }
5388 return true;
5389 case inputMessageVoiceNote::ID:
5390 if constexpr (AllowTag) {
5391 downcast_call_tag<inputMessageVoiceNote> type_tag;
5392 func(type_tag);
5393 } else {
5394 func(static_cast<inputMessageVoiceNote &>(*obj));
5395 }
5396 return true;
5397 case inputMessageLocation::ID:
5398 if constexpr (AllowTag) {
5399 downcast_call_tag<inputMessageLocation> type_tag;
5400 func(type_tag);
5401 } else {
5402 func(static_cast<inputMessageLocation &>(*obj));
5403 }
5404 return true;
5405 case inputMessageVenue::ID:
5406 if constexpr (AllowTag) {
5407 downcast_call_tag<inputMessageVenue> type_tag;
5408 func(type_tag);
5409 } else {
5410 func(static_cast<inputMessageVenue &>(*obj));
5411 }
5412 return true;
5413 case inputMessageContact::ID:
5414 if constexpr (AllowTag) {
5415 downcast_call_tag<inputMessageContact> type_tag;
5416 func(type_tag);
5417 } else {
5418 func(static_cast<inputMessageContact &>(*obj));
5419 }
5420 return true;
5421 case inputMessageDice::ID:
5422 if constexpr (AllowTag) {
5423 downcast_call_tag<inputMessageDice> type_tag;
5424 func(type_tag);
5425 } else {
5426 func(static_cast<inputMessageDice &>(*obj));
5427 }
5428 return true;
5429 case inputMessageGame::ID:
5430 if constexpr (AllowTag) {
5431 downcast_call_tag<inputMessageGame> type_tag;
5432 func(type_tag);
5433 } else {
5434 func(static_cast<inputMessageGame &>(*obj));
5435 }
5436 return true;
5437 case inputMessageInvoice::ID:
5438 if constexpr (AllowTag) {
5439 downcast_call_tag<inputMessageInvoice> type_tag;
5440 func(type_tag);
5441 } else {
5442 func(static_cast<inputMessageInvoice &>(*obj));
5443 }
5444 return true;
5445 case inputMessagePoll::ID:
5446 if constexpr (AllowTag) {
5447 downcast_call_tag<inputMessagePoll> type_tag;
5448 func(type_tag);
5449 } else {
5450 func(static_cast<inputMessagePoll &>(*obj));
5451 }
5452 return true;
5453 case inputMessageStakeDice::ID:
5454 if constexpr (AllowTag) {
5455 downcast_call_tag<inputMessageStakeDice> type_tag;
5456 func(type_tag);
5457 } else {
5458 func(static_cast<inputMessageStakeDice &>(*obj));
5459 }
5460 return true;
5461 case inputMessageStory::ID:
5462 if constexpr (AllowTag) {
5463 downcast_call_tag<inputMessageStory> type_tag;
5464 func(type_tag);
5465 } else {
5466 func(static_cast<inputMessageStory &>(*obj));
5467 }
5468 return true;
5469 case inputMessageChecklist::ID:
5470 if constexpr (AllowTag) {
5471 downcast_call_tag<inputMessageChecklist> type_tag;
5472 func(type_tag);
5473 } else {
5474 func(static_cast<inputMessageChecklist &>(*obj));
5475 }
5476 return true;
5477 case inputMessageForwarded::ID:
5478 if constexpr (AllowTag) {
5479 downcast_call_tag<inputMessageForwarded> type_tag;
5480 func(type_tag);
5481 } else {
5482 func(static_cast<inputMessageForwarded &>(*obj));
5483 }
5484 return true;
5485 case inputMessageReplyToMessage::ID:
5486 if constexpr (AllowTag) {
5487 downcast_call_tag<inputMessageReplyToMessage> type_tag;
5488 func(type_tag);
5489 } else {
5490 func(static_cast<inputMessageReplyToMessage &>(*obj));
5491 }
5492 return true;
5493 case inputMessageReplyToExternalMessage::ID:
5494 if constexpr (AllowTag) {
5495 downcast_call_tag<inputMessageReplyToExternalMessage> type_tag;
5496 func(type_tag);
5497 } else {
5498 func(static_cast<inputMessageReplyToExternalMessage &>(*obj));
5499 }
5500 return true;
5501 case inputMessageReplyToStory::ID:
5502 if constexpr (AllowTag) {
5503 downcast_call_tag<inputMessageReplyToStory> type_tag;
5504 func(type_tag);
5505 } else {
5506 func(static_cast<inputMessageReplyToStory &>(*obj));
5507 }
5508 return true;
5509 case inputPaidMedia::ID:
5510 if constexpr (AllowTag) {
5511 downcast_call_tag<inputPaidMedia> type_tag;
5512 func(type_tag);
5513 } else {
5514 func(static_cast<inputPaidMedia &>(*obj));
5515 }
5516 return true;
5517 case inputPaidMediaTypePhoto::ID:
5518 if constexpr (AllowTag) {
5519 downcast_call_tag<inputPaidMediaTypePhoto> type_tag;
5520 func(type_tag);
5521 } else {
5522 func(static_cast<inputPaidMediaTypePhoto &>(*obj));
5523 }
5524 return true;
5525 case inputPaidMediaTypeVideo::ID:
5526 if constexpr (AllowTag) {
5527 downcast_call_tag<inputPaidMediaTypeVideo> type_tag;
5528 func(type_tag);
5529 } else {
5530 func(static_cast<inputPaidMediaTypeVideo &>(*obj));
5531 }
5532 return true;
5533 case inputPassportElementPersonalDetails::ID:
5534 if constexpr (AllowTag) {
5535 downcast_call_tag<inputPassportElementPersonalDetails> type_tag;
5536 func(type_tag);
5537 } else {
5538 func(static_cast<inputPassportElementPersonalDetails &>(*obj));
5539 }
5540 return true;
5541 case inputPassportElementPassport::ID:
5542 if constexpr (AllowTag) {
5543 downcast_call_tag<inputPassportElementPassport> type_tag;
5544 func(type_tag);
5545 } else {
5546 func(static_cast<inputPassportElementPassport &>(*obj));
5547 }
5548 return true;
5549 case inputPassportElementDriverLicense::ID:
5550 if constexpr (AllowTag) {
5551 downcast_call_tag<inputPassportElementDriverLicense> type_tag;
5552 func(type_tag);
5553 } else {
5554 func(static_cast<inputPassportElementDriverLicense &>(*obj));
5555 }
5556 return true;
5557 case inputPassportElementIdentityCard::ID:
5558 if constexpr (AllowTag) {
5559 downcast_call_tag<inputPassportElementIdentityCard> type_tag;
5560 func(type_tag);
5561 } else {
5562 func(static_cast<inputPassportElementIdentityCard &>(*obj));
5563 }
5564 return true;
5565 case inputPassportElementInternalPassport::ID:
5566 if constexpr (AllowTag) {
5567 downcast_call_tag<inputPassportElementInternalPassport> type_tag;
5568 func(type_tag);
5569 } else {
5570 func(static_cast<inputPassportElementInternalPassport &>(*obj));
5571 }
5572 return true;
5573 case inputPassportElementAddress::ID:
5574 if constexpr (AllowTag) {
5575 downcast_call_tag<inputPassportElementAddress> type_tag;
5576 func(type_tag);
5577 } else {
5578 func(static_cast<inputPassportElementAddress &>(*obj));
5579 }
5580 return true;
5581 case inputPassportElementUtilityBill::ID:
5582 if constexpr (AllowTag) {
5583 downcast_call_tag<inputPassportElementUtilityBill> type_tag;
5584 func(type_tag);
5585 } else {
5586 func(static_cast<inputPassportElementUtilityBill &>(*obj));
5587 }
5588 return true;
5589 case inputPassportElementBankStatement::ID:
5590 if constexpr (AllowTag) {
5591 downcast_call_tag<inputPassportElementBankStatement> type_tag;
5592 func(type_tag);
5593 } else {
5594 func(static_cast<inputPassportElementBankStatement &>(*obj));
5595 }
5596 return true;
5597 case inputPassportElementRentalAgreement::ID:
5598 if constexpr (AllowTag) {
5599 downcast_call_tag<inputPassportElementRentalAgreement> type_tag;
5600 func(type_tag);
5601 } else {
5602 func(static_cast<inputPassportElementRentalAgreement &>(*obj));
5603 }
5604 return true;
5605 case inputPassportElementPassportRegistration::ID:
5606 if constexpr (AllowTag) {
5607 downcast_call_tag<inputPassportElementPassportRegistration> type_tag;
5608 func(type_tag);
5609 } else {
5610 func(static_cast<inputPassportElementPassportRegistration &>(*obj));
5611 }
5612 return true;
5613 case inputPassportElementTemporaryRegistration::ID:
5614 if constexpr (AllowTag) {
5615 downcast_call_tag<inputPassportElementTemporaryRegistration> type_tag;
5616 func(type_tag);
5617 } else {
5618 func(static_cast<inputPassportElementTemporaryRegistration &>(*obj));
5619 }
5620 return true;
5621 case inputPassportElementPhoneNumber::ID:
5622 if constexpr (AllowTag) {
5623 downcast_call_tag<inputPassportElementPhoneNumber> type_tag;
5624 func(type_tag);
5625 } else {
5626 func(static_cast<inputPassportElementPhoneNumber &>(*obj));
5627 }
5628 return true;
5629 case inputPassportElementEmailAddress::ID:
5630 if constexpr (AllowTag) {
5631 downcast_call_tag<inputPassportElementEmailAddress> type_tag;
5632 func(type_tag);
5633 } else {
5634 func(static_cast<inputPassportElementEmailAddress &>(*obj));
5635 }
5636 return true;
5637 case inputPassportElementError::ID:
5638 if constexpr (AllowTag) {
5639 downcast_call_tag<inputPassportElementError> type_tag;
5640 func(type_tag);
5641 } else {
5642 func(static_cast<inputPassportElementError &>(*obj));
5643 }
5644 return true;
5645 case inputPassportElementErrorSourceUnspecified::ID:
5646 if constexpr (AllowTag) {
5647 downcast_call_tag<inputPassportElementErrorSourceUnspecified> type_tag;
5648 func(type_tag);
5649 } else {
5650 func(static_cast<inputPassportElementErrorSourceUnspecified &>(*obj));
5651 }
5652 return true;
5653 case inputPassportElementErrorSourceDataField::ID:
5654 if constexpr (AllowTag) {
5655 downcast_call_tag<inputPassportElementErrorSourceDataField> type_tag;
5656 func(type_tag);
5657 } else {
5658 func(static_cast<inputPassportElementErrorSourceDataField &>(*obj));
5659 }
5660 return true;
5661 case inputPassportElementErrorSourceFrontSide::ID:
5662 if constexpr (AllowTag) {
5663 downcast_call_tag<inputPassportElementErrorSourceFrontSide> type_tag;
5664 func(type_tag);
5665 } else {
5666 func(static_cast<inputPassportElementErrorSourceFrontSide &>(*obj));
5667 }
5668 return true;
5669 case inputPassportElementErrorSourceReverseSide::ID:
5670 if constexpr (AllowTag) {
5671 downcast_call_tag<inputPassportElementErrorSourceReverseSide> type_tag;
5672 func(type_tag);
5673 } else {
5674 func(static_cast<inputPassportElementErrorSourceReverseSide &>(*obj));
5675 }
5676 return true;
5677 case inputPassportElementErrorSourceSelfie::ID:
5678 if constexpr (AllowTag) {
5679 downcast_call_tag<inputPassportElementErrorSourceSelfie> type_tag;
5680 func(type_tag);
5681 } else {
5682 func(static_cast<inputPassportElementErrorSourceSelfie &>(*obj));
5683 }
5684 return true;
5685 case inputPassportElementErrorSourceTranslationFile::ID:
5686 if constexpr (AllowTag) {
5687 downcast_call_tag<inputPassportElementErrorSourceTranslationFile> type_tag;
5688 func(type_tag);
5689 } else {
5690 func(static_cast<inputPassportElementErrorSourceTranslationFile &>(*obj));
5691 }
5692 return true;
5693 case inputPassportElementErrorSourceTranslationFiles::ID:
5694 if constexpr (AllowTag) {
5695 downcast_call_tag<inputPassportElementErrorSourceTranslationFiles> type_tag;
5696 func(type_tag);
5697 } else {
5698 func(static_cast<inputPassportElementErrorSourceTranslationFiles &>(*obj));
5699 }
5700 return true;
5701 case inputPassportElementErrorSourceFile::ID:
5702 if constexpr (AllowTag) {
5703 downcast_call_tag<inputPassportElementErrorSourceFile> type_tag;
5704 func(type_tag);
5705 } else {
5706 func(static_cast<inputPassportElementErrorSourceFile &>(*obj));
5707 }
5708 return true;
5709 case inputPassportElementErrorSourceFiles::ID:
5710 if constexpr (AllowTag) {
5711 downcast_call_tag<inputPassportElementErrorSourceFiles> type_tag;
5712 func(type_tag);
5713 } else {
5714 func(static_cast<inputPassportElementErrorSourceFiles &>(*obj));
5715 }
5716 return true;
5717 case inputPersonalDocument::ID:
5718 if constexpr (AllowTag) {
5719 downcast_call_tag<inputPersonalDocument> type_tag;
5720 func(type_tag);
5721 } else {
5722 func(static_cast<inputPersonalDocument &>(*obj));
5723 }
5724 return true;
5725 case inputPollOption::ID:
5726 if constexpr (AllowTag) {
5727 downcast_call_tag<inputPollOption> type_tag;
5728 func(type_tag);
5729 } else {
5730 func(static_cast<inputPollOption &>(*obj));
5731 }
5732 return true;
5733 case inputPollTypeRegular::ID:
5734 if constexpr (AllowTag) {
5735 downcast_call_tag<inputPollTypeRegular> type_tag;
5736 func(type_tag);
5737 } else {
5738 func(static_cast<inputPollTypeRegular &>(*obj));
5739 }
5740 return true;
5741 case inputPollTypeQuiz::ID:
5742 if constexpr (AllowTag) {
5743 downcast_call_tag<inputPollTypeQuiz> type_tag;
5744 func(type_tag);
5745 } else {
5746 func(static_cast<inputPollTypeQuiz &>(*obj));
5747 }
5748 return true;
5749 case inputSticker::ID:
5750 if constexpr (AllowTag) {
5751 downcast_call_tag<inputSticker> type_tag;
5752 func(type_tag);
5753 } else {
5754 func(static_cast<inputSticker &>(*obj));
5755 }
5756 return true;
5757 case inputStoryArea::ID:
5758 if constexpr (AllowTag) {
5759 downcast_call_tag<inputStoryArea> type_tag;
5760 func(type_tag);
5761 } else {
5762 func(static_cast<inputStoryArea &>(*obj));
5763 }
5764 return true;
5765 case inputStoryAreaTypeLocation::ID:
5766 if constexpr (AllowTag) {
5767 downcast_call_tag<inputStoryAreaTypeLocation> type_tag;
5768 func(type_tag);
5769 } else {
5770 func(static_cast<inputStoryAreaTypeLocation &>(*obj));
5771 }
5772 return true;
5773 case inputStoryAreaTypeFoundVenue::ID:
5774 if constexpr (AllowTag) {
5775 downcast_call_tag<inputStoryAreaTypeFoundVenue> type_tag;
5776 func(type_tag);
5777 } else {
5778 func(static_cast<inputStoryAreaTypeFoundVenue &>(*obj));
5779 }
5780 return true;
5781 case inputStoryAreaTypePreviousVenue::ID:
5782 if constexpr (AllowTag) {
5783 downcast_call_tag<inputStoryAreaTypePreviousVenue> type_tag;
5784 func(type_tag);
5785 } else {
5786 func(static_cast<inputStoryAreaTypePreviousVenue &>(*obj));
5787 }
5788 return true;
5789 case inputStoryAreaTypeSuggestedReaction::ID:
5790 if constexpr (AllowTag) {
5791 downcast_call_tag<inputStoryAreaTypeSuggestedReaction> type_tag;
5792 func(type_tag);
5793 } else {
5794 func(static_cast<inputStoryAreaTypeSuggestedReaction &>(*obj));
5795 }
5796 return true;
5797 case inputStoryAreaTypeMessage::ID:
5798 if constexpr (AllowTag) {
5799 downcast_call_tag<inputStoryAreaTypeMessage> type_tag;
5800 func(type_tag);
5801 } else {
5802 func(static_cast<inputStoryAreaTypeMessage &>(*obj));
5803 }
5804 return true;
5805 case inputStoryAreaTypeLink::ID:
5806 if constexpr (AllowTag) {
5807 downcast_call_tag<inputStoryAreaTypeLink> type_tag;
5808 func(type_tag);
5809 } else {
5810 func(static_cast<inputStoryAreaTypeLink &>(*obj));
5811 }
5812 return true;
5813 case inputStoryAreaTypeWeather::ID:
5814 if constexpr (AllowTag) {
5815 downcast_call_tag<inputStoryAreaTypeWeather> type_tag;
5816 func(type_tag);
5817 } else {
5818 func(static_cast<inputStoryAreaTypeWeather &>(*obj));
5819 }
5820 return true;
5821 case inputStoryAreaTypeUpgradedGift::ID:
5822 if constexpr (AllowTag) {
5823 downcast_call_tag<inputStoryAreaTypeUpgradedGift> type_tag;
5824 func(type_tag);
5825 } else {
5826 func(static_cast<inputStoryAreaTypeUpgradedGift &>(*obj));
5827 }
5828 return true;
5829 case inputStoryAreas::ID:
5830 if constexpr (AllowTag) {
5831 downcast_call_tag<inputStoryAreas> type_tag;
5832 func(type_tag);
5833 } else {
5834 func(static_cast<inputStoryAreas &>(*obj));
5835 }
5836 return true;
5837 case inputStoryContentPhoto::ID:
5838 if constexpr (AllowTag) {
5839 downcast_call_tag<inputStoryContentPhoto> type_tag;
5840 func(type_tag);
5841 } else {
5842 func(static_cast<inputStoryContentPhoto &>(*obj));
5843 }
5844 return true;
5845 case inputStoryContentVideo::ID:
5846 if constexpr (AllowTag) {
5847 downcast_call_tag<inputStoryContentVideo> type_tag;
5848 func(type_tag);
5849 } else {
5850 func(static_cast<inputStoryContentVideo &>(*obj));
5851 }
5852 return true;
5853 case inputSuggestedPostInfo::ID:
5854 if constexpr (AllowTag) {
5855 downcast_call_tag<inputSuggestedPostInfo> type_tag;
5856 func(type_tag);
5857 } else {
5858 func(static_cast<inputSuggestedPostInfo &>(*obj));
5859 }
5860 return true;
5861 case inputTextQuote::ID:
5862 if constexpr (AllowTag) {
5863 downcast_call_tag<inputTextQuote> type_tag;
5864 func(type_tag);
5865 } else {
5866 func(static_cast<inputTextQuote &>(*obj));
5867 }
5868 return true;
5869 case inputThumbnail::ID:
5870 if constexpr (AllowTag) {
5871 downcast_call_tag<inputThumbnail> type_tag;
5872 func(type_tag);
5873 } else {
5874 func(static_cast<inputThumbnail &>(*obj));
5875 }
5876 return true;
5877 case internalLinkTypeAttachmentMenuBot::ID:
5878 if constexpr (AllowTag) {
5879 downcast_call_tag<internalLinkTypeAttachmentMenuBot> type_tag;
5880 func(type_tag);
5881 } else {
5882 func(static_cast<internalLinkTypeAttachmentMenuBot &>(*obj));
5883 }
5884 return true;
5885 case internalLinkTypeAuthenticationCode::ID:
5886 if constexpr (AllowTag) {
5887 downcast_call_tag<internalLinkTypeAuthenticationCode> type_tag;
5888 func(type_tag);
5889 } else {
5890 func(static_cast<internalLinkTypeAuthenticationCode &>(*obj));
5891 }
5892 return true;
5893 case internalLinkTypeBackground::ID:
5894 if constexpr (AllowTag) {
5895 downcast_call_tag<internalLinkTypeBackground> type_tag;
5896 func(type_tag);
5897 } else {
5898 func(static_cast<internalLinkTypeBackground &>(*obj));
5899 }
5900 return true;
5901 case internalLinkTypeBotAddToChannel::ID:
5902 if constexpr (AllowTag) {
5903 downcast_call_tag<internalLinkTypeBotAddToChannel> type_tag;
5904 func(type_tag);
5905 } else {
5906 func(static_cast<internalLinkTypeBotAddToChannel &>(*obj));
5907 }
5908 return true;
5909 case internalLinkTypeBotStart::ID:
5910 if constexpr (AllowTag) {
5911 downcast_call_tag<internalLinkTypeBotStart> type_tag;
5912 func(type_tag);
5913 } else {
5914 func(static_cast<internalLinkTypeBotStart &>(*obj));
5915 }
5916 return true;
5917 case internalLinkTypeBotStartInGroup::ID:
5918 if constexpr (AllowTag) {
5919 downcast_call_tag<internalLinkTypeBotStartInGroup> type_tag;
5920 func(type_tag);
5921 } else {
5922 func(static_cast<internalLinkTypeBotStartInGroup &>(*obj));
5923 }
5924 return true;
5925 case internalLinkTypeBusinessChat::ID:
5926 if constexpr (AllowTag) {
5927 downcast_call_tag<internalLinkTypeBusinessChat> type_tag;
5928 func(type_tag);
5929 } else {
5930 func(static_cast<internalLinkTypeBusinessChat &>(*obj));
5931 }
5932 return true;
5933 case internalLinkTypeCallsPage::ID:
5934 if constexpr (AllowTag) {
5935 downcast_call_tag<internalLinkTypeCallsPage> type_tag;
5936 func(type_tag);
5937 } else {
5938 func(static_cast<internalLinkTypeCallsPage &>(*obj));
5939 }
5940 return true;
5941 case internalLinkTypeChatAffiliateProgram::ID:
5942 if constexpr (AllowTag) {
5943 downcast_call_tag<internalLinkTypeChatAffiliateProgram> type_tag;
5944 func(type_tag);
5945 } else {
5946 func(static_cast<internalLinkTypeChatAffiliateProgram &>(*obj));
5947 }
5948 return true;
5949 case internalLinkTypeChatBoost::ID:
5950 if constexpr (AllowTag) {
5951 downcast_call_tag<internalLinkTypeChatBoost> type_tag;
5952 func(type_tag);
5953 } else {
5954 func(static_cast<internalLinkTypeChatBoost &>(*obj));
5955 }
5956 return true;
5957 case internalLinkTypeChatFolderInvite::ID:
5958 if constexpr (AllowTag) {
5959 downcast_call_tag<internalLinkTypeChatFolderInvite> type_tag;
5960 func(type_tag);
5961 } else {
5962 func(static_cast<internalLinkTypeChatFolderInvite &>(*obj));
5963 }
5964 return true;
5965 case internalLinkTypeChatInvite::ID:
5966 if constexpr (AllowTag) {
5967 downcast_call_tag<internalLinkTypeChatInvite> type_tag;
5968 func(type_tag);
5969 } else {
5970 func(static_cast<internalLinkTypeChatInvite &>(*obj));
5971 }
5972 return true;
5973 case internalLinkTypeChatSelection::ID:
5974 if constexpr (AllowTag) {
5975 downcast_call_tag<internalLinkTypeChatSelection> type_tag;
5976 func(type_tag);
5977 } else {
5978 func(static_cast<internalLinkTypeChatSelection &>(*obj));
5979 }
5980 return true;
5981 case internalLinkTypeContactsPage::ID:
5982 if constexpr (AllowTag) {
5983 downcast_call_tag<internalLinkTypeContactsPage> type_tag;
5984 func(type_tag);
5985 } else {
5986 func(static_cast<internalLinkTypeContactsPage &>(*obj));
5987 }
5988 return true;
5989 case internalLinkTypeDirectMessagesChat::ID:
5990 if constexpr (AllowTag) {
5991 downcast_call_tag<internalLinkTypeDirectMessagesChat> type_tag;
5992 func(type_tag);
5993 } else {
5994 func(static_cast<internalLinkTypeDirectMessagesChat &>(*obj));
5995 }
5996 return true;
5997 case internalLinkTypeGame::ID:
5998 if constexpr (AllowTag) {
5999 downcast_call_tag<internalLinkTypeGame> type_tag;
6000 func(type_tag);
6001 } else {
6002 func(static_cast<internalLinkTypeGame &>(*obj));
6003 }
6004 return true;
6005 case internalLinkTypeGiftAuction::ID:
6006 if constexpr (AllowTag) {
6007 downcast_call_tag<internalLinkTypeGiftAuction> type_tag;
6008 func(type_tag);
6009 } else {
6010 func(static_cast<internalLinkTypeGiftAuction &>(*obj));
6011 }
6012 return true;
6013 case internalLinkTypeGiftCollection::ID:
6014 if constexpr (AllowTag) {
6015 downcast_call_tag<internalLinkTypeGiftCollection> type_tag;
6016 func(type_tag);
6017 } else {
6018 func(static_cast<internalLinkTypeGiftCollection &>(*obj));
6019 }
6020 return true;
6021 case internalLinkTypeGroupCall::ID:
6022 if constexpr (AllowTag) {
6023 downcast_call_tag<internalLinkTypeGroupCall> type_tag;
6024 func(type_tag);
6025 } else {
6026 func(static_cast<internalLinkTypeGroupCall &>(*obj));
6027 }
6028 return true;
6029 case internalLinkTypeInstantView::ID:
6030 if constexpr (AllowTag) {
6031 downcast_call_tag<internalLinkTypeInstantView> type_tag;
6032 func(type_tag);
6033 } else {
6034 func(static_cast<internalLinkTypeInstantView &>(*obj));
6035 }
6036 return true;
6037 case internalLinkTypeInvoice::ID:
6038 if constexpr (AllowTag) {
6039 downcast_call_tag<internalLinkTypeInvoice> type_tag;
6040 func(type_tag);
6041 } else {
6042 func(static_cast<internalLinkTypeInvoice &>(*obj));
6043 }
6044 return true;
6045 case internalLinkTypeLanguagePack::ID:
6046 if constexpr (AllowTag) {
6047 downcast_call_tag<internalLinkTypeLanguagePack> type_tag;
6048 func(type_tag);
6049 } else {
6050 func(static_cast<internalLinkTypeLanguagePack &>(*obj));
6051 }
6052 return true;
6053 case internalLinkTypeLiveStory::ID:
6054 if constexpr (AllowTag) {
6055 downcast_call_tag<internalLinkTypeLiveStory> type_tag;
6056 func(type_tag);
6057 } else {
6058 func(static_cast<internalLinkTypeLiveStory &>(*obj));
6059 }
6060 return true;
6061 case internalLinkTypeMainWebApp::ID:
6062 if constexpr (AllowTag) {
6063 downcast_call_tag<internalLinkTypeMainWebApp> type_tag;
6064 func(type_tag);
6065 } else {
6066 func(static_cast<internalLinkTypeMainWebApp &>(*obj));
6067 }
6068 return true;
6069 case internalLinkTypeMessage::ID:
6070 if constexpr (AllowTag) {
6071 downcast_call_tag<internalLinkTypeMessage> type_tag;
6072 func(type_tag);
6073 } else {
6074 func(static_cast<internalLinkTypeMessage &>(*obj));
6075 }
6076 return true;
6077 case internalLinkTypeMessageDraft::ID:
6078 if constexpr (AllowTag) {
6079 downcast_call_tag<internalLinkTypeMessageDraft> type_tag;
6080 func(type_tag);
6081 } else {
6082 func(static_cast<internalLinkTypeMessageDraft &>(*obj));
6083 }
6084 return true;
6085 case internalLinkTypeMyProfilePage::ID:
6086 if constexpr (AllowTag) {
6087 downcast_call_tag<internalLinkTypeMyProfilePage> type_tag;
6088 func(type_tag);
6089 } else {
6090 func(static_cast<internalLinkTypeMyProfilePage &>(*obj));
6091 }
6092 return true;
6093 case internalLinkTypeNewChannelChat::ID:
6094 if constexpr (AllowTag) {
6095 downcast_call_tag<internalLinkTypeNewChannelChat> type_tag;
6096 func(type_tag);
6097 } else {
6098 func(static_cast<internalLinkTypeNewChannelChat &>(*obj));
6099 }
6100 return true;
6101 case internalLinkTypeNewGroupChat::ID:
6102 if constexpr (AllowTag) {
6103 downcast_call_tag<internalLinkTypeNewGroupChat> type_tag;
6104 func(type_tag);
6105 } else {
6106 func(static_cast<internalLinkTypeNewGroupChat &>(*obj));
6107 }
6108 return true;
6109 case internalLinkTypeNewPrivateChat::ID:
6110 if constexpr (AllowTag) {
6111 downcast_call_tag<internalLinkTypeNewPrivateChat> type_tag;
6112 func(type_tag);
6113 } else {
6114 func(static_cast<internalLinkTypeNewPrivateChat &>(*obj));
6115 }
6116 return true;
6117 case internalLinkTypeNewStory::ID:
6118 if constexpr (AllowTag) {
6119 downcast_call_tag<internalLinkTypeNewStory> type_tag;
6120 func(type_tag);
6121 } else {
6122 func(static_cast<internalLinkTypeNewStory &>(*obj));
6123 }
6124 return true;
6125 case internalLinkTypeOauth::ID:
6126 if constexpr (AllowTag) {
6127 downcast_call_tag<internalLinkTypeOauth> type_tag;
6128 func(type_tag);
6129 } else {
6130 func(static_cast<internalLinkTypeOauth &>(*obj));
6131 }
6132 return true;
6133 case internalLinkTypePassportDataRequest::ID:
6134 if constexpr (AllowTag) {
6135 downcast_call_tag<internalLinkTypePassportDataRequest> type_tag;
6136 func(type_tag);
6137 } else {
6138 func(static_cast<internalLinkTypePassportDataRequest &>(*obj));
6139 }
6140 return true;
6141 case internalLinkTypePhoneNumberConfirmation::ID:
6142 if constexpr (AllowTag) {
6143 downcast_call_tag<internalLinkTypePhoneNumberConfirmation> type_tag;
6144 func(type_tag);
6145 } else {
6146 func(static_cast<internalLinkTypePhoneNumberConfirmation &>(*obj));
6147 }
6148 return true;
6149 case internalLinkTypePremiumFeaturesPage::ID:
6150 if constexpr (AllowTag) {
6151 downcast_call_tag<internalLinkTypePremiumFeaturesPage> type_tag;
6152 func(type_tag);
6153 } else {
6154 func(static_cast<internalLinkTypePremiumFeaturesPage &>(*obj));
6155 }
6156 return true;
6157 case internalLinkTypePremiumGiftCode::ID:
6158 if constexpr (AllowTag) {
6159 downcast_call_tag<internalLinkTypePremiumGiftCode> type_tag;
6160 func(type_tag);
6161 } else {
6162 func(static_cast<internalLinkTypePremiumGiftCode &>(*obj));
6163 }
6164 return true;
6165 case internalLinkTypePremiumGiftPurchase::ID:
6166 if constexpr (AllowTag) {
6167 downcast_call_tag<internalLinkTypePremiumGiftPurchase> type_tag;
6168 func(type_tag);
6169 } else {
6170 func(static_cast<internalLinkTypePremiumGiftPurchase &>(*obj));
6171 }
6172 return true;
6173 case internalLinkTypeProxy::ID:
6174 if constexpr (AllowTag) {
6175 downcast_call_tag<internalLinkTypeProxy> type_tag;
6176 func(type_tag);
6177 } else {
6178 func(static_cast<internalLinkTypeProxy &>(*obj));
6179 }
6180 return true;
6181 case internalLinkTypePublicChat::ID:
6182 if constexpr (AllowTag) {
6183 downcast_call_tag<internalLinkTypePublicChat> type_tag;
6184 func(type_tag);
6185 } else {
6186 func(static_cast<internalLinkTypePublicChat &>(*obj));
6187 }
6188 return true;
6189 case internalLinkTypeQrCodeAuthentication::ID:
6190 if constexpr (AllowTag) {
6191 downcast_call_tag<internalLinkTypeQrCodeAuthentication> type_tag;
6192 func(type_tag);
6193 } else {
6194 func(static_cast<internalLinkTypeQrCodeAuthentication &>(*obj));
6195 }
6196 return true;
6197 case internalLinkTypeRequestManagedBot::ID:
6198 if constexpr (AllowTag) {
6199 downcast_call_tag<internalLinkTypeRequestManagedBot> type_tag;
6200 func(type_tag);
6201 } else {
6202 func(static_cast<internalLinkTypeRequestManagedBot &>(*obj));
6203 }
6204 return true;
6205 case internalLinkTypeRestorePurchases::ID:
6206 if constexpr (AllowTag) {
6207 downcast_call_tag<internalLinkTypeRestorePurchases> type_tag;
6208 func(type_tag);
6209 } else {
6210 func(static_cast<internalLinkTypeRestorePurchases &>(*obj));
6211 }
6212 return true;
6213 case internalLinkTypeSavedMessages::ID:
6214 if constexpr (AllowTag) {
6215 downcast_call_tag<internalLinkTypeSavedMessages> type_tag;
6216 func(type_tag);
6217 } else {
6218 func(static_cast<internalLinkTypeSavedMessages &>(*obj));
6219 }
6220 return true;
6221 case internalLinkTypeSearch::ID:
6222 if constexpr (AllowTag) {
6223 downcast_call_tag<internalLinkTypeSearch> type_tag;
6224 func(type_tag);
6225 } else {
6226 func(static_cast<internalLinkTypeSearch &>(*obj));
6227 }
6228 return true;
6229 case internalLinkTypeSettings::ID:
6230 if constexpr (AllowTag) {
6231 downcast_call_tag<internalLinkTypeSettings> type_tag;
6232 func(type_tag);
6233 } else {
6234 func(static_cast<internalLinkTypeSettings &>(*obj));
6235 }
6236 return true;
6237 case internalLinkTypeStarPurchase::ID:
6238 if constexpr (AllowTag) {
6239 downcast_call_tag<internalLinkTypeStarPurchase> type_tag;
6240 func(type_tag);
6241 } else {
6242 func(static_cast<internalLinkTypeStarPurchase &>(*obj));
6243 }
6244 return true;
6245 case internalLinkTypeStickerSet::ID:
6246 if constexpr (AllowTag) {
6247 downcast_call_tag<internalLinkTypeStickerSet> type_tag;
6248 func(type_tag);
6249 } else {
6250 func(static_cast<internalLinkTypeStickerSet &>(*obj));
6251 }
6252 return true;
6253 case internalLinkTypeStory::ID:
6254 if constexpr (AllowTag) {
6255 downcast_call_tag<internalLinkTypeStory> type_tag;
6256 func(type_tag);
6257 } else {
6258 func(static_cast<internalLinkTypeStory &>(*obj));
6259 }
6260 return true;
6261 case internalLinkTypeStoryAlbum::ID:
6262 if constexpr (AllowTag) {
6263 downcast_call_tag<internalLinkTypeStoryAlbum> type_tag;
6264 func(type_tag);
6265 } else {
6266 func(static_cast<internalLinkTypeStoryAlbum &>(*obj));
6267 }
6268 return true;
6269 case internalLinkTypeTheme::ID:
6270 if constexpr (AllowTag) {
6271 downcast_call_tag<internalLinkTypeTheme> type_tag;
6272 func(type_tag);
6273 } else {
6274 func(static_cast<internalLinkTypeTheme &>(*obj));
6275 }
6276 return true;
6277 case internalLinkTypeTextCompositionStyle::ID:
6278 if constexpr (AllowTag) {
6279 downcast_call_tag<internalLinkTypeTextCompositionStyle> type_tag;
6280 func(type_tag);
6281 } else {
6282 func(static_cast<internalLinkTypeTextCompositionStyle &>(*obj));
6283 }
6284 return true;
6285 case internalLinkTypeUnknownDeepLink::ID:
6286 if constexpr (AllowTag) {
6287 downcast_call_tag<internalLinkTypeUnknownDeepLink> type_tag;
6288 func(type_tag);
6289 } else {
6290 func(static_cast<internalLinkTypeUnknownDeepLink &>(*obj));
6291 }
6292 return true;
6293 case internalLinkTypeUpgradedGift::ID:
6294 if constexpr (AllowTag) {
6295 downcast_call_tag<internalLinkTypeUpgradedGift> type_tag;
6296 func(type_tag);
6297 } else {
6298 func(static_cast<internalLinkTypeUpgradedGift &>(*obj));
6299 }
6300 return true;
6301 case internalLinkTypeUserPhoneNumber::ID:
6302 if constexpr (AllowTag) {
6303 downcast_call_tag<internalLinkTypeUserPhoneNumber> type_tag;
6304 func(type_tag);
6305 } else {
6306 func(static_cast<internalLinkTypeUserPhoneNumber &>(*obj));
6307 }
6308 return true;
6309 case internalLinkTypeUserToken::ID:
6310 if constexpr (AllowTag) {
6311 downcast_call_tag<internalLinkTypeUserToken> type_tag;
6312 func(type_tag);
6313 } else {
6314 func(static_cast<internalLinkTypeUserToken &>(*obj));
6315 }
6316 return true;
6317 case internalLinkTypeVideoChat::ID:
6318 if constexpr (AllowTag) {
6319 downcast_call_tag<internalLinkTypeVideoChat> type_tag;
6320 func(type_tag);
6321 } else {
6322 func(static_cast<internalLinkTypeVideoChat &>(*obj));
6323 }
6324 return true;
6325 case internalLinkTypeWebApp::ID:
6326 if constexpr (AllowTag) {
6327 downcast_call_tag<internalLinkTypeWebApp> type_tag;
6328 func(type_tag);
6329 } else {
6330 func(static_cast<internalLinkTypeWebApp &>(*obj));
6331 }
6332 return true;
6333 case inviteGroupCallParticipantResultUserPrivacyRestricted::ID:
6334 if constexpr (AllowTag) {
6335 downcast_call_tag<inviteGroupCallParticipantResultUserPrivacyRestricted> type_tag;
6336 func(type_tag);
6337 } else {
6338 func(static_cast<inviteGroupCallParticipantResultUserPrivacyRestricted &>(*obj));
6339 }
6340 return true;
6341 case inviteGroupCallParticipantResultUserAlreadyParticipant::ID:
6342 if constexpr (AllowTag) {
6343 downcast_call_tag<inviteGroupCallParticipantResultUserAlreadyParticipant> type_tag;
6344 func(type_tag);
6345 } else {
6346 func(static_cast<inviteGroupCallParticipantResultUserAlreadyParticipant &>(*obj));
6347 }
6348 return true;
6349 case inviteGroupCallParticipantResultUserWasBanned::ID:
6350 if constexpr (AllowTag) {
6351 downcast_call_tag<inviteGroupCallParticipantResultUserWasBanned> type_tag;
6352 func(type_tag);
6353 } else {
6354 func(static_cast<inviteGroupCallParticipantResultUserWasBanned &>(*obj));
6355 }
6356 return true;
6357 case inviteGroupCallParticipantResultSuccess::ID:
6358 if constexpr (AllowTag) {
6359 downcast_call_tag<inviteGroupCallParticipantResultSuccess> type_tag;
6360 func(type_tag);
6361 } else {
6362 func(static_cast<inviteGroupCallParticipantResultSuccess &>(*obj));
6363 }
6364 return true;
6365 case inviteLinkChatTypeBasicGroup::ID:
6366 if constexpr (AllowTag) {
6367 downcast_call_tag<inviteLinkChatTypeBasicGroup> type_tag;
6368 func(type_tag);
6369 } else {
6370 func(static_cast<inviteLinkChatTypeBasicGroup &>(*obj));
6371 }
6372 return true;
6373 case inviteLinkChatTypeSupergroup::ID:
6374 if constexpr (AllowTag) {
6375 downcast_call_tag<inviteLinkChatTypeSupergroup> type_tag;
6376 func(type_tag);
6377 } else {
6378 func(static_cast<inviteLinkChatTypeSupergroup &>(*obj));
6379 }
6380 return true;
6381 case inviteLinkChatTypeChannel::ID:
6382 if constexpr (AllowTag) {
6383 downcast_call_tag<inviteLinkChatTypeChannel> type_tag;
6384 func(type_tag);
6385 } else {
6386 func(static_cast<inviteLinkChatTypeChannel &>(*obj));
6387 }
6388 return true;
6389 case invoice::ID:
6390 if constexpr (AllowTag) {
6391 downcast_call_tag<invoice> type_tag;
6392 func(type_tag);
6393 } else {
6394 func(static_cast<invoice &>(*obj));
6395 }
6396 return true;
6397 case jsonObjectMember::ID:
6398 if constexpr (AllowTag) {
6399 downcast_call_tag<jsonObjectMember> type_tag;
6400 func(type_tag);
6401 } else {
6402 func(static_cast<jsonObjectMember &>(*obj));
6403 }
6404 return true;
6405 case jsonValueNull::ID:
6406 if constexpr (AllowTag) {
6407 downcast_call_tag<jsonValueNull> type_tag;
6408 func(type_tag);
6409 } else {
6410 func(static_cast<jsonValueNull &>(*obj));
6411 }
6412 return true;
6413 case jsonValueBoolean::ID:
6414 if constexpr (AllowTag) {
6415 downcast_call_tag<jsonValueBoolean> type_tag;
6416 func(type_tag);
6417 } else {
6418 func(static_cast<jsonValueBoolean &>(*obj));
6419 }
6420 return true;
6421 case jsonValueNumber::ID:
6422 if constexpr (AllowTag) {
6423 downcast_call_tag<jsonValueNumber> type_tag;
6424 func(type_tag);
6425 } else {
6426 func(static_cast<jsonValueNumber &>(*obj));
6427 }
6428 return true;
6429 case jsonValueString::ID:
6430 if constexpr (AllowTag) {
6431 downcast_call_tag<jsonValueString> type_tag;
6432 func(type_tag);
6433 } else {
6434 func(static_cast<jsonValueString &>(*obj));
6435 }
6436 return true;
6437 case jsonValueArray::ID:
6438 if constexpr (AllowTag) {
6439 downcast_call_tag<jsonValueArray> type_tag;
6440 func(type_tag);
6441 } else {
6442 func(static_cast<jsonValueArray &>(*obj));
6443 }
6444 return true;
6445 case jsonValueObject::ID:
6446 if constexpr (AllowTag) {
6447 downcast_call_tag<jsonValueObject> type_tag;
6448 func(type_tag);
6449 } else {
6450 func(static_cast<jsonValueObject &>(*obj));
6451 }
6452 return true;
6453 case keyboardButton::ID:
6454 if constexpr (AllowTag) {
6455 downcast_call_tag<keyboardButton> type_tag;
6456 func(type_tag);
6457 } else {
6458 func(static_cast<keyboardButton &>(*obj));
6459 }
6460 return true;
6461 case keyboardButtonSourceMessage::ID:
6462 if constexpr (AllowTag) {
6463 downcast_call_tag<keyboardButtonSourceMessage> type_tag;
6464 func(type_tag);
6465 } else {
6466 func(static_cast<keyboardButtonSourceMessage &>(*obj));
6467 }
6468 return true;
6469 case keyboardButtonSourceWebApp::ID:
6470 if constexpr (AllowTag) {
6471 downcast_call_tag<keyboardButtonSourceWebApp> type_tag;
6472 func(type_tag);
6473 } else {
6474 func(static_cast<keyboardButtonSourceWebApp &>(*obj));
6475 }
6476 return true;
6477 case keyboardButtonTypeText::ID:
6478 if constexpr (AllowTag) {
6479 downcast_call_tag<keyboardButtonTypeText> type_tag;
6480 func(type_tag);
6481 } else {
6482 func(static_cast<keyboardButtonTypeText &>(*obj));
6483 }
6484 return true;
6485 case keyboardButtonTypeRequestPhoneNumber::ID:
6486 if constexpr (AllowTag) {
6487 downcast_call_tag<keyboardButtonTypeRequestPhoneNumber> type_tag;
6488 func(type_tag);
6489 } else {
6490 func(static_cast<keyboardButtonTypeRequestPhoneNumber &>(*obj));
6491 }
6492 return true;
6493 case keyboardButtonTypeRequestLocation::ID:
6494 if constexpr (AllowTag) {
6495 downcast_call_tag<keyboardButtonTypeRequestLocation> type_tag;
6496 func(type_tag);
6497 } else {
6498 func(static_cast<keyboardButtonTypeRequestLocation &>(*obj));
6499 }
6500 return true;
6501 case keyboardButtonTypeRequestPoll::ID:
6502 if constexpr (AllowTag) {
6503 downcast_call_tag<keyboardButtonTypeRequestPoll> type_tag;
6504 func(type_tag);
6505 } else {
6506 func(static_cast<keyboardButtonTypeRequestPoll &>(*obj));
6507 }
6508 return true;
6509 case keyboardButtonTypeRequestUsers::ID:
6510 if constexpr (AllowTag) {
6511 downcast_call_tag<keyboardButtonTypeRequestUsers> type_tag;
6512 func(type_tag);
6513 } else {
6514 func(static_cast<keyboardButtonTypeRequestUsers &>(*obj));
6515 }
6516 return true;
6517 case keyboardButtonTypeRequestChat::ID:
6518 if constexpr (AllowTag) {
6519 downcast_call_tag<keyboardButtonTypeRequestChat> type_tag;
6520 func(type_tag);
6521 } else {
6522 func(static_cast<keyboardButtonTypeRequestChat &>(*obj));
6523 }
6524 return true;
6525 case keyboardButtonTypeRequestManagedBot::ID:
6526 if constexpr (AllowTag) {
6527 downcast_call_tag<keyboardButtonTypeRequestManagedBot> type_tag;
6528 func(type_tag);
6529 } else {
6530 func(static_cast<keyboardButtonTypeRequestManagedBot &>(*obj));
6531 }
6532 return true;
6533 case keyboardButtonTypeWebApp::ID:
6534 if constexpr (AllowTag) {
6535 downcast_call_tag<keyboardButtonTypeWebApp> type_tag;
6536 func(type_tag);
6537 } else {
6538 func(static_cast<keyboardButtonTypeWebApp &>(*obj));
6539 }
6540 return true;
6541 case labeledPricePart::ID:
6542 if constexpr (AllowTag) {
6543 downcast_call_tag<labeledPricePart> type_tag;
6544 func(type_tag);
6545 } else {
6546 func(static_cast<labeledPricePart &>(*obj));
6547 }
6548 return true;
6549 case languagePackInfo::ID:
6550 if constexpr (AllowTag) {
6551 downcast_call_tag<languagePackInfo> type_tag;
6552 func(type_tag);
6553 } else {
6554 func(static_cast<languagePackInfo &>(*obj));
6555 }
6556 return true;
6557 case languagePackString::ID:
6558 if constexpr (AllowTag) {
6559 downcast_call_tag<languagePackString> type_tag;
6560 func(type_tag);
6561 } else {
6562 func(static_cast<languagePackString &>(*obj));
6563 }
6564 return true;
6565 case languagePackStringValueOrdinary::ID:
6566 if constexpr (AllowTag) {
6567 downcast_call_tag<languagePackStringValueOrdinary> type_tag;
6568 func(type_tag);
6569 } else {
6570 func(static_cast<languagePackStringValueOrdinary &>(*obj));
6571 }
6572 return true;
6573 case languagePackStringValuePluralized::ID:
6574 if constexpr (AllowTag) {
6575 downcast_call_tag<languagePackStringValuePluralized> type_tag;
6576 func(type_tag);
6577 } else {
6578 func(static_cast<languagePackStringValuePluralized &>(*obj));
6579 }
6580 return true;
6581 case languagePackStringValueDeleted::ID:
6582 if constexpr (AllowTag) {
6583 downcast_call_tag<languagePackStringValueDeleted> type_tag;
6584 func(type_tag);
6585 } else {
6586 func(static_cast<languagePackStringValueDeleted &>(*obj));
6587 }
6588 return true;
6589 case languagePackStrings::ID:
6590 if constexpr (AllowTag) {
6591 downcast_call_tag<languagePackStrings> type_tag;
6592 func(type_tag);
6593 } else {
6594 func(static_cast<languagePackStrings &>(*obj));
6595 }
6596 return true;
6597 case linkPreview::ID:
6598 if constexpr (AllowTag) {
6599 downcast_call_tag<linkPreview> type_tag;
6600 func(type_tag);
6601 } else {
6602 func(static_cast<linkPreview &>(*obj));
6603 }
6604 return true;
6605 case linkPreviewAlbumMediaPhoto::ID:
6606 if constexpr (AllowTag) {
6607 downcast_call_tag<linkPreviewAlbumMediaPhoto> type_tag;
6608 func(type_tag);
6609 } else {
6610 func(static_cast<linkPreviewAlbumMediaPhoto &>(*obj));
6611 }
6612 return true;
6613 case linkPreviewAlbumMediaVideo::ID:
6614 if constexpr (AllowTag) {
6615 downcast_call_tag<linkPreviewAlbumMediaVideo> type_tag;
6616 func(type_tag);
6617 } else {
6618 func(static_cast<linkPreviewAlbumMediaVideo &>(*obj));
6619 }
6620 return true;
6621 case linkPreviewOptions::ID:
6622 if constexpr (AllowTag) {
6623 downcast_call_tag<linkPreviewOptions> type_tag;
6624 func(type_tag);
6625 } else {
6626 func(static_cast<linkPreviewOptions &>(*obj));
6627 }
6628 return true;
6629 case linkPreviewTypeAlbum::ID:
6630 if constexpr (AllowTag) {
6631 downcast_call_tag<linkPreviewTypeAlbum> type_tag;
6632 func(type_tag);
6633 } else {
6634 func(static_cast<linkPreviewTypeAlbum &>(*obj));
6635 }
6636 return true;
6637 case linkPreviewTypeAnimation::ID:
6638 if constexpr (AllowTag) {
6639 downcast_call_tag<linkPreviewTypeAnimation> type_tag;
6640 func(type_tag);
6641 } else {
6642 func(static_cast<linkPreviewTypeAnimation &>(*obj));
6643 }
6644 return true;
6645 case linkPreviewTypeApp::ID:
6646 if constexpr (AllowTag) {
6647 downcast_call_tag<linkPreviewTypeApp> type_tag;
6648 func(type_tag);
6649 } else {
6650 func(static_cast<linkPreviewTypeApp &>(*obj));
6651 }
6652 return true;
6653 case linkPreviewTypeArticle::ID:
6654 if constexpr (AllowTag) {
6655 downcast_call_tag<linkPreviewTypeArticle> type_tag;
6656 func(type_tag);
6657 } else {
6658 func(static_cast<linkPreviewTypeArticle &>(*obj));
6659 }
6660 return true;
6661 case linkPreviewTypeAudio::ID:
6662 if constexpr (AllowTag) {
6663 downcast_call_tag<linkPreviewTypeAudio> type_tag;
6664 func(type_tag);
6665 } else {
6666 func(static_cast<linkPreviewTypeAudio &>(*obj));
6667 }
6668 return true;
6669 case linkPreviewTypeBackground::ID:
6670 if constexpr (AllowTag) {
6671 downcast_call_tag<linkPreviewTypeBackground> type_tag;
6672 func(type_tag);
6673 } else {
6674 func(static_cast<linkPreviewTypeBackground &>(*obj));
6675 }
6676 return true;
6677 case linkPreviewTypeChannelBoost::ID:
6678 if constexpr (AllowTag) {
6679 downcast_call_tag<linkPreviewTypeChannelBoost> type_tag;
6680 func(type_tag);
6681 } else {
6682 func(static_cast<linkPreviewTypeChannelBoost &>(*obj));
6683 }
6684 return true;
6685 case linkPreviewTypeChat::ID:
6686 if constexpr (AllowTag) {
6687 downcast_call_tag<linkPreviewTypeChat> type_tag;
6688 func(type_tag);
6689 } else {
6690 func(static_cast<linkPreviewTypeChat &>(*obj));
6691 }
6692 return true;
6693 case linkPreviewTypeDirectMessagesChat::ID:
6694 if constexpr (AllowTag) {
6695 downcast_call_tag<linkPreviewTypeDirectMessagesChat> type_tag;
6696 func(type_tag);
6697 } else {
6698 func(static_cast<linkPreviewTypeDirectMessagesChat &>(*obj));
6699 }
6700 return true;
6701 case linkPreviewTypeDocument::ID:
6702 if constexpr (AllowTag) {
6703 downcast_call_tag<linkPreviewTypeDocument> type_tag;
6704 func(type_tag);
6705 } else {
6706 func(static_cast<linkPreviewTypeDocument &>(*obj));
6707 }
6708 return true;
6709 case linkPreviewTypeEmbeddedAnimationPlayer::ID:
6710 if constexpr (AllowTag) {
6711 downcast_call_tag<linkPreviewTypeEmbeddedAnimationPlayer> type_tag;
6712 func(type_tag);
6713 } else {
6714 func(static_cast<linkPreviewTypeEmbeddedAnimationPlayer &>(*obj));
6715 }
6716 return true;
6717 case linkPreviewTypeEmbeddedAudioPlayer::ID:
6718 if constexpr (AllowTag) {
6719 downcast_call_tag<linkPreviewTypeEmbeddedAudioPlayer> type_tag;
6720 func(type_tag);
6721 } else {
6722 func(static_cast<linkPreviewTypeEmbeddedAudioPlayer &>(*obj));
6723 }
6724 return true;
6725 case linkPreviewTypeEmbeddedVideoPlayer::ID:
6726 if constexpr (AllowTag) {
6727 downcast_call_tag<linkPreviewTypeEmbeddedVideoPlayer> type_tag;
6728 func(type_tag);
6729 } else {
6730 func(static_cast<linkPreviewTypeEmbeddedVideoPlayer &>(*obj));
6731 }
6732 return true;
6733 case linkPreviewTypeExternalAudio::ID:
6734 if constexpr (AllowTag) {
6735 downcast_call_tag<linkPreviewTypeExternalAudio> type_tag;
6736 func(type_tag);
6737 } else {
6738 func(static_cast<linkPreviewTypeExternalAudio &>(*obj));
6739 }
6740 return true;
6741 case linkPreviewTypeExternalVideo::ID:
6742 if constexpr (AllowTag) {
6743 downcast_call_tag<linkPreviewTypeExternalVideo> type_tag;
6744 func(type_tag);
6745 } else {
6746 func(static_cast<linkPreviewTypeExternalVideo &>(*obj));
6747 }
6748 return true;
6749 case linkPreviewTypeGiftAuction::ID:
6750 if constexpr (AllowTag) {
6751 downcast_call_tag<linkPreviewTypeGiftAuction> type_tag;
6752 func(type_tag);
6753 } else {
6754 func(static_cast<linkPreviewTypeGiftAuction &>(*obj));
6755 }
6756 return true;
6757 case linkPreviewTypeGiftCollection::ID:
6758 if constexpr (AllowTag) {
6759 downcast_call_tag<linkPreviewTypeGiftCollection> type_tag;
6760 func(type_tag);
6761 } else {
6762 func(static_cast<linkPreviewTypeGiftCollection &>(*obj));
6763 }
6764 return true;
6765 case linkPreviewTypeGroupCall::ID:
6766 if constexpr (AllowTag) {
6767 downcast_call_tag<linkPreviewTypeGroupCall> type_tag;
6768 func(type_tag);
6769 } else {
6770 func(static_cast<linkPreviewTypeGroupCall &>(*obj));
6771 }
6772 return true;
6773 case linkPreviewTypeInvoice::ID:
6774 if constexpr (AllowTag) {
6775 downcast_call_tag<linkPreviewTypeInvoice> type_tag;
6776 func(type_tag);
6777 } else {
6778 func(static_cast<linkPreviewTypeInvoice &>(*obj));
6779 }
6780 return true;
6781 case linkPreviewTypeLiveStory::ID:
6782 if constexpr (AllowTag) {
6783 downcast_call_tag<linkPreviewTypeLiveStory> type_tag;
6784 func(type_tag);
6785 } else {
6786 func(static_cast<linkPreviewTypeLiveStory &>(*obj));
6787 }
6788 return true;
6789 case linkPreviewTypeMessage::ID:
6790 if constexpr (AllowTag) {
6791 downcast_call_tag<linkPreviewTypeMessage> type_tag;
6792 func(type_tag);
6793 } else {
6794 func(static_cast<linkPreviewTypeMessage &>(*obj));
6795 }
6796 return true;
6797 case linkPreviewTypePhoto::ID:
6798 if constexpr (AllowTag) {
6799 downcast_call_tag<linkPreviewTypePhoto> type_tag;
6800 func(type_tag);
6801 } else {
6802 func(static_cast<linkPreviewTypePhoto &>(*obj));
6803 }
6804 return true;
6805 case linkPreviewTypePremiumGiftCode::ID:
6806 if constexpr (AllowTag) {
6807 downcast_call_tag<linkPreviewTypePremiumGiftCode> type_tag;
6808 func(type_tag);
6809 } else {
6810 func(static_cast<linkPreviewTypePremiumGiftCode &>(*obj));
6811 }
6812 return true;
6813 case linkPreviewTypeRequestManagedBot::ID:
6814 if constexpr (AllowTag) {
6815 downcast_call_tag<linkPreviewTypeRequestManagedBot> type_tag;
6816 func(type_tag);
6817 } else {
6818 func(static_cast<linkPreviewTypeRequestManagedBot &>(*obj));
6819 }
6820 return true;
6821 case linkPreviewTypeShareableChatFolder::ID:
6822 if constexpr (AllowTag) {
6823 downcast_call_tag<linkPreviewTypeShareableChatFolder> type_tag;
6824 func(type_tag);
6825 } else {
6826 func(static_cast<linkPreviewTypeShareableChatFolder &>(*obj));
6827 }
6828 return true;
6829 case linkPreviewTypeSticker::ID:
6830 if constexpr (AllowTag) {
6831 downcast_call_tag<linkPreviewTypeSticker> type_tag;
6832 func(type_tag);
6833 } else {
6834 func(static_cast<linkPreviewTypeSticker &>(*obj));
6835 }
6836 return true;
6837 case linkPreviewTypeStickerSet::ID:
6838 if constexpr (AllowTag) {
6839 downcast_call_tag<linkPreviewTypeStickerSet> type_tag;
6840 func(type_tag);
6841 } else {
6842 func(static_cast<linkPreviewTypeStickerSet &>(*obj));
6843 }
6844 return true;
6845 case linkPreviewTypeStory::ID:
6846 if constexpr (AllowTag) {
6847 downcast_call_tag<linkPreviewTypeStory> type_tag;
6848 func(type_tag);
6849 } else {
6850 func(static_cast<linkPreviewTypeStory &>(*obj));
6851 }
6852 return true;
6853 case linkPreviewTypeStoryAlbum::ID:
6854 if constexpr (AllowTag) {
6855 downcast_call_tag<linkPreviewTypeStoryAlbum> type_tag;
6856 func(type_tag);
6857 } else {
6858 func(static_cast<linkPreviewTypeStoryAlbum &>(*obj));
6859 }
6860 return true;
6861 case linkPreviewTypeSupergroupBoost::ID:
6862 if constexpr (AllowTag) {
6863 downcast_call_tag<linkPreviewTypeSupergroupBoost> type_tag;
6864 func(type_tag);
6865 } else {
6866 func(static_cast<linkPreviewTypeSupergroupBoost &>(*obj));
6867 }
6868 return true;
6869 case linkPreviewTypeTheme::ID:
6870 if constexpr (AllowTag) {
6871 downcast_call_tag<linkPreviewTypeTheme> type_tag;
6872 func(type_tag);
6873 } else {
6874 func(static_cast<linkPreviewTypeTheme &>(*obj));
6875 }
6876 return true;
6877 case linkPreviewTypeUnsupported::ID:
6878 if constexpr (AllowTag) {
6879 downcast_call_tag<linkPreviewTypeUnsupported> type_tag;
6880 func(type_tag);
6881 } else {
6882 func(static_cast<linkPreviewTypeUnsupported &>(*obj));
6883 }
6884 return true;
6885 case linkPreviewTypeUpgradedGift::ID:
6886 if constexpr (AllowTag) {
6887 downcast_call_tag<linkPreviewTypeUpgradedGift> type_tag;
6888 func(type_tag);
6889 } else {
6890 func(static_cast<linkPreviewTypeUpgradedGift &>(*obj));
6891 }
6892 return true;
6893 case linkPreviewTypeUser::ID:
6894 if constexpr (AllowTag) {
6895 downcast_call_tag<linkPreviewTypeUser> type_tag;
6896 func(type_tag);
6897 } else {
6898 func(static_cast<linkPreviewTypeUser &>(*obj));
6899 }
6900 return true;
6901 case linkPreviewTypeVideo::ID:
6902 if constexpr (AllowTag) {
6903 downcast_call_tag<linkPreviewTypeVideo> type_tag;
6904 func(type_tag);
6905 } else {
6906 func(static_cast<linkPreviewTypeVideo &>(*obj));
6907 }
6908 return true;
6909 case linkPreviewTypeVideoChat::ID:
6910 if constexpr (AllowTag) {
6911 downcast_call_tag<linkPreviewTypeVideoChat> type_tag;
6912 func(type_tag);
6913 } else {
6914 func(static_cast<linkPreviewTypeVideoChat &>(*obj));
6915 }
6916 return true;
6917 case linkPreviewTypeVideoNote::ID:
6918 if constexpr (AllowTag) {
6919 downcast_call_tag<linkPreviewTypeVideoNote> type_tag;
6920 func(type_tag);
6921 } else {
6922 func(static_cast<linkPreviewTypeVideoNote &>(*obj));
6923 }
6924 return true;
6925 case linkPreviewTypeVoiceNote::ID:
6926 if constexpr (AllowTag) {
6927 downcast_call_tag<linkPreviewTypeVoiceNote> type_tag;
6928 func(type_tag);
6929 } else {
6930 func(static_cast<linkPreviewTypeVoiceNote &>(*obj));
6931 }
6932 return true;
6933 case linkPreviewTypeWebApp::ID:
6934 if constexpr (AllowTag) {
6935 downcast_call_tag<linkPreviewTypeWebApp> type_tag;
6936 func(type_tag);
6937 } else {
6938 func(static_cast<linkPreviewTypeWebApp &>(*obj));
6939 }
6940 return true;
6941 case liveStoryDonors::ID:
6942 if constexpr (AllowTag) {
6943 downcast_call_tag<liveStoryDonors> type_tag;
6944 func(type_tag);
6945 } else {
6946 func(static_cast<liveStoryDonors &>(*obj));
6947 }
6948 return true;
6949 case localFile::ID:
6950 if constexpr (AllowTag) {
6951 downcast_call_tag<localFile> type_tag;
6952 func(type_tag);
6953 } else {
6954 func(static_cast<localFile &>(*obj));
6955 }
6956 return true;
6957 case localizationTargetInfo::ID:
6958 if constexpr (AllowTag) {
6959 downcast_call_tag<localizationTargetInfo> type_tag;
6960 func(type_tag);
6961 } else {
6962 func(static_cast<localizationTargetInfo &>(*obj));
6963 }
6964 return true;
6965 case location::ID:
6966 if constexpr (AllowTag) {
6967 downcast_call_tag<location> type_tag;
6968 func(type_tag);
6969 } else {
6970 func(static_cast<location &>(*obj));
6971 }
6972 return true;
6973 case locationAddress::ID:
6974 if constexpr (AllowTag) {
6975 downcast_call_tag<locationAddress> type_tag;
6976 func(type_tag);
6977 } else {
6978 func(static_cast<locationAddress &>(*obj));
6979 }
6980 return true;
6981 case logStreamDefault::ID:
6982 if constexpr (AllowTag) {
6983 downcast_call_tag<logStreamDefault> type_tag;
6984 func(type_tag);
6985 } else {
6986 func(static_cast<logStreamDefault &>(*obj));
6987 }
6988 return true;
6989 case logStreamFile::ID:
6990 if constexpr (AllowTag) {
6991 downcast_call_tag<logStreamFile> type_tag;
6992 func(type_tag);
6993 } else {
6994 func(static_cast<logStreamFile &>(*obj));
6995 }
6996 return true;
6997 case logStreamEmpty::ID:
6998 if constexpr (AllowTag) {
6999 downcast_call_tag<logStreamEmpty> type_tag;
7000 func(type_tag);
7001 } else {
7002 func(static_cast<logStreamEmpty &>(*obj));
7003 }
7004 return true;
7005 case logTags::ID:
7006 if constexpr (AllowTag) {
7007 downcast_call_tag<logTags> type_tag;
7008 func(type_tag);
7009 } else {
7010 func(static_cast<logTags &>(*obj));
7011 }
7012 return true;
7013 case logVerbosityLevel::ID:
7014 if constexpr (AllowTag) {
7015 downcast_call_tag<logVerbosityLevel> type_tag;
7016 func(type_tag);
7017 } else {
7018 func(static_cast<logVerbosityLevel &>(*obj));
7019 }
7020 return true;
7021 case loginUrlInfoOpen::ID:
7022 if constexpr (AllowTag) {
7023 downcast_call_tag<loginUrlInfoOpen> type_tag;
7024 func(type_tag);
7025 } else {
7026 func(static_cast<loginUrlInfoOpen &>(*obj));
7027 }
7028 return true;
7029 case loginUrlInfoRequestConfirmation::ID:
7030 if constexpr (AllowTag) {
7031 downcast_call_tag<loginUrlInfoRequestConfirmation> type_tag;
7032 func(type_tag);
7033 } else {
7034 func(static_cast<loginUrlInfoRequestConfirmation &>(*obj));
7035 }
7036 return true;
7037 case mainWebApp::ID:
7038 if constexpr (AllowTag) {
7039 downcast_call_tag<mainWebApp> type_tag;
7040 func(type_tag);
7041 } else {
7042 func(static_cast<mainWebApp &>(*obj));
7043 }
7044 return true;
7045 case maskPointForehead::ID:
7046 if constexpr (AllowTag) {
7047 downcast_call_tag<maskPointForehead> type_tag;
7048 func(type_tag);
7049 } else {
7050 func(static_cast<maskPointForehead &>(*obj));
7051 }
7052 return true;
7053 case maskPointEyes::ID:
7054 if constexpr (AllowTag) {
7055 downcast_call_tag<maskPointEyes> type_tag;
7056 func(type_tag);
7057 } else {
7058 func(static_cast<maskPointEyes &>(*obj));
7059 }
7060 return true;
7061 case maskPointMouth::ID:
7062 if constexpr (AllowTag) {
7063 downcast_call_tag<maskPointMouth> type_tag;
7064 func(type_tag);
7065 } else {
7066 func(static_cast<maskPointMouth &>(*obj));
7067 }
7068 return true;
7069 case maskPointChin::ID:
7070 if constexpr (AllowTag) {
7071 downcast_call_tag<maskPointChin> type_tag;
7072 func(type_tag);
7073 } else {
7074 func(static_cast<maskPointChin &>(*obj));
7075 }
7076 return true;
7077 case maskPosition::ID:
7078 if constexpr (AllowTag) {
7079 downcast_call_tag<maskPosition> type_tag;
7080 func(type_tag);
7081 } else {
7082 func(static_cast<maskPosition &>(*obj));
7083 }
7084 return true;
7085 case message::ID:
7086 if constexpr (AllowTag) {
7087 downcast_call_tag<message> type_tag;
7088 func(type_tag);
7089 } else {
7090 func(static_cast<message &>(*obj));
7091 }
7092 return true;
7093 case messageAutoDeleteTime::ID:
7094 if constexpr (AllowTag) {
7095 downcast_call_tag<messageAutoDeleteTime> type_tag;
7096 func(type_tag);
7097 } else {
7098 func(static_cast<messageAutoDeleteTime &>(*obj));
7099 }
7100 return true;
7101 case messageCalendar::ID:
7102 if constexpr (AllowTag) {
7103 downcast_call_tag<messageCalendar> type_tag;
7104 func(type_tag);
7105 } else {
7106 func(static_cast<messageCalendar &>(*obj));
7107 }
7108 return true;
7109 case messageCalendarDay::ID:
7110 if constexpr (AllowTag) {
7111 downcast_call_tag<messageCalendarDay> type_tag;
7112 func(type_tag);
7113 } else {
7114 func(static_cast<messageCalendarDay &>(*obj));
7115 }
7116 return true;
7117 case messageText::ID:
7118 if constexpr (AllowTag) {
7119 downcast_call_tag<messageText> type_tag;
7120 func(type_tag);
7121 } else {
7122 func(static_cast<messageText &>(*obj));
7123 }
7124 return true;
7125 case messageAnimation::ID:
7126 if constexpr (AllowTag) {
7127 downcast_call_tag<messageAnimation> type_tag;
7128 func(type_tag);
7129 } else {
7130 func(static_cast<messageAnimation &>(*obj));
7131 }
7132 return true;
7133 case messageAudio::ID:
7134 if constexpr (AllowTag) {
7135 downcast_call_tag<messageAudio> type_tag;
7136 func(type_tag);
7137 } else {
7138 func(static_cast<messageAudio &>(*obj));
7139 }
7140 return true;
7141 case messageDocument::ID:
7142 if constexpr (AllowTag) {
7143 downcast_call_tag<messageDocument> type_tag;
7144 func(type_tag);
7145 } else {
7146 func(static_cast<messageDocument &>(*obj));
7147 }
7148 return true;
7149 case messagePaidMedia::ID:
7150 if constexpr (AllowTag) {
7151 downcast_call_tag<messagePaidMedia> type_tag;
7152 func(type_tag);
7153 } else {
7154 func(static_cast<messagePaidMedia &>(*obj));
7155 }
7156 return true;
7157 case messagePhoto::ID:
7158 if constexpr (AllowTag) {
7159 downcast_call_tag<messagePhoto> type_tag;
7160 func(type_tag);
7161 } else {
7162 func(static_cast<messagePhoto &>(*obj));
7163 }
7164 return true;
7165 case messageSticker::ID:
7166 if constexpr (AllowTag) {
7167 downcast_call_tag<messageSticker> type_tag;
7168 func(type_tag);
7169 } else {
7170 func(static_cast<messageSticker &>(*obj));
7171 }
7172 return true;
7173 case messageVideo::ID:
7174 if constexpr (AllowTag) {
7175 downcast_call_tag<messageVideo> type_tag;
7176 func(type_tag);
7177 } else {
7178 func(static_cast<messageVideo &>(*obj));
7179 }
7180 return true;
7181 case messageVideoNote::ID:
7182 if constexpr (AllowTag) {
7183 downcast_call_tag<messageVideoNote> type_tag;
7184 func(type_tag);
7185 } else {
7186 func(static_cast<messageVideoNote &>(*obj));
7187 }
7188 return true;
7189 case messageVoiceNote::ID:
7190 if constexpr (AllowTag) {
7191 downcast_call_tag<messageVoiceNote> type_tag;
7192 func(type_tag);
7193 } else {
7194 func(static_cast<messageVoiceNote &>(*obj));
7195 }
7196 return true;
7197 case messageExpiredPhoto::ID:
7198 if constexpr (AllowTag) {
7199 downcast_call_tag<messageExpiredPhoto> type_tag;
7200 func(type_tag);
7201 } else {
7202 func(static_cast<messageExpiredPhoto &>(*obj));
7203 }
7204 return true;
7205 case messageExpiredVideo::ID:
7206 if constexpr (AllowTag) {
7207 downcast_call_tag<messageExpiredVideo> type_tag;
7208 func(type_tag);
7209 } else {
7210 func(static_cast<messageExpiredVideo &>(*obj));
7211 }
7212 return true;
7213 case messageExpiredVideoNote::ID:
7214 if constexpr (AllowTag) {
7215 downcast_call_tag<messageExpiredVideoNote> type_tag;
7216 func(type_tag);
7217 } else {
7218 func(static_cast<messageExpiredVideoNote &>(*obj));
7219 }
7220 return true;
7221 case messageExpiredVoiceNote::ID:
7222 if constexpr (AllowTag) {
7223 downcast_call_tag<messageExpiredVoiceNote> type_tag;
7224 func(type_tag);
7225 } else {
7226 func(static_cast<messageExpiredVoiceNote &>(*obj));
7227 }
7228 return true;
7229 case messageLocation::ID:
7230 if constexpr (AllowTag) {
7231 downcast_call_tag<messageLocation> type_tag;
7232 func(type_tag);
7233 } else {
7234 func(static_cast<messageLocation &>(*obj));
7235 }
7236 return true;
7237 case messageVenue::ID:
7238 if constexpr (AllowTag) {
7239 downcast_call_tag<messageVenue> type_tag;
7240 func(type_tag);
7241 } else {
7242 func(static_cast<messageVenue &>(*obj));
7243 }
7244 return true;
7245 case messageContact::ID:
7246 if constexpr (AllowTag) {
7247 downcast_call_tag<messageContact> type_tag;
7248 func(type_tag);
7249 } else {
7250 func(static_cast<messageContact &>(*obj));
7251 }
7252 return true;
7253 case messageAnimatedEmoji::ID:
7254 if constexpr (AllowTag) {
7255 downcast_call_tag<messageAnimatedEmoji> type_tag;
7256 func(type_tag);
7257 } else {
7258 func(static_cast<messageAnimatedEmoji &>(*obj));
7259 }
7260 return true;
7261 case messageDice::ID:
7262 if constexpr (AllowTag) {
7263 downcast_call_tag<messageDice> type_tag;
7264 func(type_tag);
7265 } else {
7266 func(static_cast<messageDice &>(*obj));
7267 }
7268 return true;
7269 case messageGame::ID:
7270 if constexpr (AllowTag) {
7271 downcast_call_tag<messageGame> type_tag;
7272 func(type_tag);
7273 } else {
7274 func(static_cast<messageGame &>(*obj));
7275 }
7276 return true;
7277 case messagePoll::ID:
7278 if constexpr (AllowTag) {
7279 downcast_call_tag<messagePoll> type_tag;
7280 func(type_tag);
7281 } else {
7282 func(static_cast<messagePoll &>(*obj));
7283 }
7284 return true;
7285 case messageStakeDice::ID:
7286 if constexpr (AllowTag) {
7287 downcast_call_tag<messageStakeDice> type_tag;
7288 func(type_tag);
7289 } else {
7290 func(static_cast<messageStakeDice &>(*obj));
7291 }
7292 return true;
7293 case messageStory::ID:
7294 if constexpr (AllowTag) {
7295 downcast_call_tag<messageStory> type_tag;
7296 func(type_tag);
7297 } else {
7298 func(static_cast<messageStory &>(*obj));
7299 }
7300 return true;
7301 case messageChecklist::ID:
7302 if constexpr (AllowTag) {
7303 downcast_call_tag<messageChecklist> type_tag;
7304 func(type_tag);
7305 } else {
7306 func(static_cast<messageChecklist &>(*obj));
7307 }
7308 return true;
7309 case messageInvoice::ID:
7310 if constexpr (AllowTag) {
7311 downcast_call_tag<messageInvoice> type_tag;
7312 func(type_tag);
7313 } else {
7314 func(static_cast<messageInvoice &>(*obj));
7315 }
7316 return true;
7317 case messageCall::ID:
7318 if constexpr (AllowTag) {
7319 downcast_call_tag<messageCall> type_tag;
7320 func(type_tag);
7321 } else {
7322 func(static_cast<messageCall &>(*obj));
7323 }
7324 return true;
7325 case messageGroupCall::ID:
7326 if constexpr (AllowTag) {
7327 downcast_call_tag<messageGroupCall> type_tag;
7328 func(type_tag);
7329 } else {
7330 func(static_cast<messageGroupCall &>(*obj));
7331 }
7332 return true;
7333 case messageVideoChatScheduled::ID:
7334 if constexpr (AllowTag) {
7335 downcast_call_tag<messageVideoChatScheduled> type_tag;
7336 func(type_tag);
7337 } else {
7338 func(static_cast<messageVideoChatScheduled &>(*obj));
7339 }
7340 return true;
7341 case messageVideoChatStarted::ID:
7342 if constexpr (AllowTag) {
7343 downcast_call_tag<messageVideoChatStarted> type_tag;
7344 func(type_tag);
7345 } else {
7346 func(static_cast<messageVideoChatStarted &>(*obj));
7347 }
7348 return true;
7349 case messageVideoChatEnded::ID:
7350 if constexpr (AllowTag) {
7351 downcast_call_tag<messageVideoChatEnded> type_tag;
7352 func(type_tag);
7353 } else {
7354 func(static_cast<messageVideoChatEnded &>(*obj));
7355 }
7356 return true;
7357 case messageInviteVideoChatParticipants::ID:
7358 if constexpr (AllowTag) {
7359 downcast_call_tag<messageInviteVideoChatParticipants> type_tag;
7360 func(type_tag);
7361 } else {
7362 func(static_cast<messageInviteVideoChatParticipants &>(*obj));
7363 }
7364 return true;
7365 case messagePollOptionAdded::ID:
7366 if constexpr (AllowTag) {
7367 downcast_call_tag<messagePollOptionAdded> type_tag;
7368 func(type_tag);
7369 } else {
7370 func(static_cast<messagePollOptionAdded &>(*obj));
7371 }
7372 return true;
7373 case messagePollOptionDeleted::ID:
7374 if constexpr (AllowTag) {
7375 downcast_call_tag<messagePollOptionDeleted> type_tag;
7376 func(type_tag);
7377 } else {
7378 func(static_cast<messagePollOptionDeleted &>(*obj));
7379 }
7380 return true;
7381 case messageBasicGroupChatCreate::ID:
7382 if constexpr (AllowTag) {
7383 downcast_call_tag<messageBasicGroupChatCreate> type_tag;
7384 func(type_tag);
7385 } else {
7386 func(static_cast<messageBasicGroupChatCreate &>(*obj));
7387 }
7388 return true;
7389 case messageSupergroupChatCreate::ID:
7390 if constexpr (AllowTag) {
7391 downcast_call_tag<messageSupergroupChatCreate> type_tag;
7392 func(type_tag);
7393 } else {
7394 func(static_cast<messageSupergroupChatCreate &>(*obj));
7395 }
7396 return true;
7397 case messageChatChangeTitle::ID:
7398 if constexpr (AllowTag) {
7399 downcast_call_tag<messageChatChangeTitle> type_tag;
7400 func(type_tag);
7401 } else {
7402 func(static_cast<messageChatChangeTitle &>(*obj));
7403 }
7404 return true;
7405 case messageChatChangePhoto::ID:
7406 if constexpr (AllowTag) {
7407 downcast_call_tag<messageChatChangePhoto> type_tag;
7408 func(type_tag);
7409 } else {
7410 func(static_cast<messageChatChangePhoto &>(*obj));
7411 }
7412 return true;
7413 case messageChatDeletePhoto::ID:
7414 if constexpr (AllowTag) {
7415 downcast_call_tag<messageChatDeletePhoto> type_tag;
7416 func(type_tag);
7417 } else {
7418 func(static_cast<messageChatDeletePhoto &>(*obj));
7419 }
7420 return true;
7421 case messageChatOwnerLeft::ID:
7422 if constexpr (AllowTag) {
7423 downcast_call_tag<messageChatOwnerLeft> type_tag;
7424 func(type_tag);
7425 } else {
7426 func(static_cast<messageChatOwnerLeft &>(*obj));
7427 }
7428 return true;
7429 case messageChatOwnerChanged::ID:
7430 if constexpr (AllowTag) {
7431 downcast_call_tag<messageChatOwnerChanged> type_tag;
7432 func(type_tag);
7433 } else {
7434 func(static_cast<messageChatOwnerChanged &>(*obj));
7435 }
7436 return true;
7437 case messageChatHasProtectedContentToggled::ID:
7438 if constexpr (AllowTag) {
7439 downcast_call_tag<messageChatHasProtectedContentToggled> type_tag;
7440 func(type_tag);
7441 } else {
7442 func(static_cast<messageChatHasProtectedContentToggled &>(*obj));
7443 }
7444 return true;
7445 case messageChatHasProtectedContentDisableRequested::ID:
7446 if constexpr (AllowTag) {
7447 downcast_call_tag<messageChatHasProtectedContentDisableRequested> type_tag;
7448 func(type_tag);
7449 } else {
7450 func(static_cast<messageChatHasProtectedContentDisableRequested &>(*obj));
7451 }
7452 return true;
7453 case messageChatAddMembers::ID:
7454 if constexpr (AllowTag) {
7455 downcast_call_tag<messageChatAddMembers> type_tag;
7456 func(type_tag);
7457 } else {
7458 func(static_cast<messageChatAddMembers &>(*obj));
7459 }
7460 return true;
7461 case messageChatJoinByLink::ID:
7462 if constexpr (AllowTag) {
7463 downcast_call_tag<messageChatJoinByLink> type_tag;
7464 func(type_tag);
7465 } else {
7466 func(static_cast<messageChatJoinByLink &>(*obj));
7467 }
7468 return true;
7469 case messageChatJoinByRequest::ID:
7470 if constexpr (AllowTag) {
7471 downcast_call_tag<messageChatJoinByRequest> type_tag;
7472 func(type_tag);
7473 } else {
7474 func(static_cast<messageChatJoinByRequest &>(*obj));
7475 }
7476 return true;
7477 case messageChatDeleteMember::ID:
7478 if constexpr (AllowTag) {
7479 downcast_call_tag<messageChatDeleteMember> type_tag;
7480 func(type_tag);
7481 } else {
7482 func(static_cast<messageChatDeleteMember &>(*obj));
7483 }
7484 return true;
7485 case messageChatUpgradeTo::ID:
7486 if constexpr (AllowTag) {
7487 downcast_call_tag<messageChatUpgradeTo> type_tag;
7488 func(type_tag);
7489 } else {
7490 func(static_cast<messageChatUpgradeTo &>(*obj));
7491 }
7492 return true;
7493 case messageChatUpgradeFrom::ID:
7494 if constexpr (AllowTag) {
7495 downcast_call_tag<messageChatUpgradeFrom> type_tag;
7496 func(type_tag);
7497 } else {
7498 func(static_cast<messageChatUpgradeFrom &>(*obj));
7499 }
7500 return true;
7501 case messagePinMessage::ID:
7502 if constexpr (AllowTag) {
7503 downcast_call_tag<messagePinMessage> type_tag;
7504 func(type_tag);
7505 } else {
7506 func(static_cast<messagePinMessage &>(*obj));
7507 }
7508 return true;
7509 case messageScreenshotTaken::ID:
7510 if constexpr (AllowTag) {
7511 downcast_call_tag<messageScreenshotTaken> type_tag;
7512 func(type_tag);
7513 } else {
7514 func(static_cast<messageScreenshotTaken &>(*obj));
7515 }
7516 return true;
7517 case messageChatSetBackground::ID:
7518 if constexpr (AllowTag) {
7519 downcast_call_tag<messageChatSetBackground> type_tag;
7520 func(type_tag);
7521 } else {
7522 func(static_cast<messageChatSetBackground &>(*obj));
7523 }
7524 return true;
7525 case messageChatSetTheme::ID:
7526 if constexpr (AllowTag) {
7527 downcast_call_tag<messageChatSetTheme> type_tag;
7528 func(type_tag);
7529 } else {
7530 func(static_cast<messageChatSetTheme &>(*obj));
7531 }
7532 return true;
7533 case messageChatSetMessageAutoDeleteTime::ID:
7534 if constexpr (AllowTag) {
7535 downcast_call_tag<messageChatSetMessageAutoDeleteTime> type_tag;
7536 func(type_tag);
7537 } else {
7538 func(static_cast<messageChatSetMessageAutoDeleteTime &>(*obj));
7539 }
7540 return true;
7541 case messageChatBoost::ID:
7542 if constexpr (AllowTag) {
7543 downcast_call_tag<messageChatBoost> type_tag;
7544 func(type_tag);
7545 } else {
7546 func(static_cast<messageChatBoost &>(*obj));
7547 }
7548 return true;
7549 case messageForumTopicCreated::ID:
7550 if constexpr (AllowTag) {
7551 downcast_call_tag<messageForumTopicCreated> type_tag;
7552 func(type_tag);
7553 } else {
7554 func(static_cast<messageForumTopicCreated &>(*obj));
7555 }
7556 return true;
7557 case messageForumTopicEdited::ID:
7558 if constexpr (AllowTag) {
7559 downcast_call_tag<messageForumTopicEdited> type_tag;
7560 func(type_tag);
7561 } else {
7562 func(static_cast<messageForumTopicEdited &>(*obj));
7563 }
7564 return true;
7565 case messageForumTopicIsClosedToggled::ID:
7566 if constexpr (AllowTag) {
7567 downcast_call_tag<messageForumTopicIsClosedToggled> type_tag;
7568 func(type_tag);
7569 } else {
7570 func(static_cast<messageForumTopicIsClosedToggled &>(*obj));
7571 }
7572 return true;
7573 case messageForumTopicIsHiddenToggled::ID:
7574 if constexpr (AllowTag) {
7575 downcast_call_tag<messageForumTopicIsHiddenToggled> type_tag;
7576 func(type_tag);
7577 } else {
7578 func(static_cast<messageForumTopicIsHiddenToggled &>(*obj));
7579 }
7580 return true;
7581 case messageSuggestProfilePhoto::ID:
7582 if constexpr (AllowTag) {
7583 downcast_call_tag<messageSuggestProfilePhoto> type_tag;
7584 func(type_tag);
7585 } else {
7586 func(static_cast<messageSuggestProfilePhoto &>(*obj));
7587 }
7588 return true;
7589 case messageSuggestBirthdate::ID:
7590 if constexpr (AllowTag) {
7591 downcast_call_tag<messageSuggestBirthdate> type_tag;
7592 func(type_tag);
7593 } else {
7594 func(static_cast<messageSuggestBirthdate &>(*obj));
7595 }
7596 return true;
7597 case messageCustomServiceAction::ID:
7598 if constexpr (AllowTag) {
7599 downcast_call_tag<messageCustomServiceAction> type_tag;
7600 func(type_tag);
7601 } else {
7602 func(static_cast<messageCustomServiceAction &>(*obj));
7603 }
7604 return true;
7605 case messageGameScore::ID:
7606 if constexpr (AllowTag) {
7607 downcast_call_tag<messageGameScore> type_tag;
7608 func(type_tag);
7609 } else {
7610 func(static_cast<messageGameScore &>(*obj));
7611 }
7612 return true;
7613 case messageManagedBotCreated::ID:
7614 if constexpr (AllowTag) {
7615 downcast_call_tag<messageManagedBotCreated> type_tag;
7616 func(type_tag);
7617 } else {
7618 func(static_cast<messageManagedBotCreated &>(*obj));
7619 }
7620 return true;
7621 case messagePaymentSuccessful::ID:
7622 if constexpr (AllowTag) {
7623 downcast_call_tag<messagePaymentSuccessful> type_tag;
7624 func(type_tag);
7625 } else {
7626 func(static_cast<messagePaymentSuccessful &>(*obj));
7627 }
7628 return true;
7629 case messagePaymentSuccessfulBot::ID:
7630 if constexpr (AllowTag) {
7631 downcast_call_tag<messagePaymentSuccessfulBot> type_tag;
7632 func(type_tag);
7633 } else {
7634 func(static_cast<messagePaymentSuccessfulBot &>(*obj));
7635 }
7636 return true;
7637 case messagePaymentRefunded::ID:
7638 if constexpr (AllowTag) {
7639 downcast_call_tag<messagePaymentRefunded> type_tag;
7640 func(type_tag);
7641 } else {
7642 func(static_cast<messagePaymentRefunded &>(*obj));
7643 }
7644 return true;
7645 case messageGiftedPremium::ID:
7646 if constexpr (AllowTag) {
7647 downcast_call_tag<messageGiftedPremium> type_tag;
7648 func(type_tag);
7649 } else {
7650 func(static_cast<messageGiftedPremium &>(*obj));
7651 }
7652 return true;
7653 case messagePremiumGiftCode::ID:
7654 if constexpr (AllowTag) {
7655 downcast_call_tag<messagePremiumGiftCode> type_tag;
7656 func(type_tag);
7657 } else {
7658 func(static_cast<messagePremiumGiftCode &>(*obj));
7659 }
7660 return true;
7661 case messageGiveawayCreated::ID:
7662 if constexpr (AllowTag) {
7663 downcast_call_tag<messageGiveawayCreated> type_tag;
7664 func(type_tag);
7665 } else {
7666 func(static_cast<messageGiveawayCreated &>(*obj));
7667 }
7668 return true;
7669 case messageGiveaway::ID:
7670 if constexpr (AllowTag) {
7671 downcast_call_tag<messageGiveaway> type_tag;
7672 func(type_tag);
7673 } else {
7674 func(static_cast<messageGiveaway &>(*obj));
7675 }
7676 return true;
7677 case messageGiveawayCompleted::ID:
7678 if constexpr (AllowTag) {
7679 downcast_call_tag<messageGiveawayCompleted> type_tag;
7680 func(type_tag);
7681 } else {
7682 func(static_cast<messageGiveawayCompleted &>(*obj));
7683 }
7684 return true;
7685 case messageGiveawayWinners::ID:
7686 if constexpr (AllowTag) {
7687 downcast_call_tag<messageGiveawayWinners> type_tag;
7688 func(type_tag);
7689 } else {
7690 func(static_cast<messageGiveawayWinners &>(*obj));
7691 }
7692 return true;
7693 case messageGiftedStars::ID:
7694 if constexpr (AllowTag) {
7695 downcast_call_tag<messageGiftedStars> type_tag;
7696 func(type_tag);
7697 } else {
7698 func(static_cast<messageGiftedStars &>(*obj));
7699 }
7700 return true;
7701 case messageGiftedTon::ID:
7702 if constexpr (AllowTag) {
7703 downcast_call_tag<messageGiftedTon> type_tag;
7704 func(type_tag);
7705 } else {
7706 func(static_cast<messageGiftedTon &>(*obj));
7707 }
7708 return true;
7709 case messageGiveawayPrizeStars::ID:
7710 if constexpr (AllowTag) {
7711 downcast_call_tag<messageGiveawayPrizeStars> type_tag;
7712 func(type_tag);
7713 } else {
7714 func(static_cast<messageGiveawayPrizeStars &>(*obj));
7715 }
7716 return true;
7717 case messageGift::ID:
7718 if constexpr (AllowTag) {
7719 downcast_call_tag<messageGift> type_tag;
7720 func(type_tag);
7721 } else {
7722 func(static_cast<messageGift &>(*obj));
7723 }
7724 return true;
7725 case messageUpgradedGift::ID:
7726 if constexpr (AllowTag) {
7727 downcast_call_tag<messageUpgradedGift> type_tag;
7728 func(type_tag);
7729 } else {
7730 func(static_cast<messageUpgradedGift &>(*obj));
7731 }
7732 return true;
7733 case messageRefundedUpgradedGift::ID:
7734 if constexpr (AllowTag) {
7735 downcast_call_tag<messageRefundedUpgradedGift> type_tag;
7736 func(type_tag);
7737 } else {
7738 func(static_cast<messageRefundedUpgradedGift &>(*obj));
7739 }
7740 return true;
7741 case messageUpgradedGiftPurchaseOffer::ID:
7742 if constexpr (AllowTag) {
7743 downcast_call_tag<messageUpgradedGiftPurchaseOffer> type_tag;
7744 func(type_tag);
7745 } else {
7746 func(static_cast<messageUpgradedGiftPurchaseOffer &>(*obj));
7747 }
7748 return true;
7749 case messageUpgradedGiftPurchaseOfferRejected::ID:
7750 if constexpr (AllowTag) {
7751 downcast_call_tag<messageUpgradedGiftPurchaseOfferRejected> type_tag;
7752 func(type_tag);
7753 } else {
7754 func(static_cast<messageUpgradedGiftPurchaseOfferRejected &>(*obj));
7755 }
7756 return true;
7757 case messagePaidMessagesRefunded::ID:
7758 if constexpr (AllowTag) {
7759 downcast_call_tag<messagePaidMessagesRefunded> type_tag;
7760 func(type_tag);
7761 } else {
7762 func(static_cast<messagePaidMessagesRefunded &>(*obj));
7763 }
7764 return true;
7765 case messagePaidMessagePriceChanged::ID:
7766 if constexpr (AllowTag) {
7767 downcast_call_tag<messagePaidMessagePriceChanged> type_tag;
7768 func(type_tag);
7769 } else {
7770 func(static_cast<messagePaidMessagePriceChanged &>(*obj));
7771 }
7772 return true;
7773 case messageDirectMessagePriceChanged::ID:
7774 if constexpr (AllowTag) {
7775 downcast_call_tag<messageDirectMessagePriceChanged> type_tag;
7776 func(type_tag);
7777 } else {
7778 func(static_cast<messageDirectMessagePriceChanged &>(*obj));
7779 }
7780 return true;
7781 case messageChecklistTasksDone::ID:
7782 if constexpr (AllowTag) {
7783 downcast_call_tag<messageChecklistTasksDone> type_tag;
7784 func(type_tag);
7785 } else {
7786 func(static_cast<messageChecklistTasksDone &>(*obj));
7787 }
7788 return true;
7789 case messageChecklistTasksAdded::ID:
7790 if constexpr (AllowTag) {
7791 downcast_call_tag<messageChecklistTasksAdded> type_tag;
7792 func(type_tag);
7793 } else {
7794 func(static_cast<messageChecklistTasksAdded &>(*obj));
7795 }
7796 return true;
7797 case messageSuggestedPostApprovalFailed::ID:
7798 if constexpr (AllowTag) {
7799 downcast_call_tag<messageSuggestedPostApprovalFailed> type_tag;
7800 func(type_tag);
7801 } else {
7802 func(static_cast<messageSuggestedPostApprovalFailed &>(*obj));
7803 }
7804 return true;
7805 case messageSuggestedPostApproved::ID:
7806 if constexpr (AllowTag) {
7807 downcast_call_tag<messageSuggestedPostApproved> type_tag;
7808 func(type_tag);
7809 } else {
7810 func(static_cast<messageSuggestedPostApproved &>(*obj));
7811 }
7812 return true;
7813 case messageSuggestedPostDeclined::ID:
7814 if constexpr (AllowTag) {
7815 downcast_call_tag<messageSuggestedPostDeclined> type_tag;
7816 func(type_tag);
7817 } else {
7818 func(static_cast<messageSuggestedPostDeclined &>(*obj));
7819 }
7820 return true;
7821 case messageSuggestedPostPaid::ID:
7822 if constexpr (AllowTag) {
7823 downcast_call_tag<messageSuggestedPostPaid> type_tag;
7824 func(type_tag);
7825 } else {
7826 func(static_cast<messageSuggestedPostPaid &>(*obj));
7827 }
7828 return true;
7829 case messageSuggestedPostRefunded::ID:
7830 if constexpr (AllowTag) {
7831 downcast_call_tag<messageSuggestedPostRefunded> type_tag;
7832 func(type_tag);
7833 } else {
7834 func(static_cast<messageSuggestedPostRefunded &>(*obj));
7835 }
7836 return true;
7837 case messageContactRegistered::ID:
7838 if constexpr (AllowTag) {
7839 downcast_call_tag<messageContactRegistered> type_tag;
7840 func(type_tag);
7841 } else {
7842 func(static_cast<messageContactRegistered &>(*obj));
7843 }
7844 return true;
7845 case messageUsersShared::ID:
7846 if constexpr (AllowTag) {
7847 downcast_call_tag<messageUsersShared> type_tag;
7848 func(type_tag);
7849 } else {
7850 func(static_cast<messageUsersShared &>(*obj));
7851 }
7852 return true;
7853 case messageChatShared::ID:
7854 if constexpr (AllowTag) {
7855 downcast_call_tag<messageChatShared> type_tag;
7856 func(type_tag);
7857 } else {
7858 func(static_cast<messageChatShared &>(*obj));
7859 }
7860 return true;
7861 case messageBotWriteAccessAllowed::ID:
7862 if constexpr (AllowTag) {
7863 downcast_call_tag<messageBotWriteAccessAllowed> type_tag;
7864 func(type_tag);
7865 } else {
7866 func(static_cast<messageBotWriteAccessAllowed &>(*obj));
7867 }
7868 return true;
7869 case messageWebAppDataSent::ID:
7870 if constexpr (AllowTag) {
7871 downcast_call_tag<messageWebAppDataSent> type_tag;
7872 func(type_tag);
7873 } else {
7874 func(static_cast<messageWebAppDataSent &>(*obj));
7875 }
7876 return true;
7877 case messageWebAppDataReceived::ID:
7878 if constexpr (AllowTag) {
7879 downcast_call_tag<messageWebAppDataReceived> type_tag;
7880 func(type_tag);
7881 } else {
7882 func(static_cast<messageWebAppDataReceived &>(*obj));
7883 }
7884 return true;
7885 case messagePassportDataSent::ID:
7886 if constexpr (AllowTag) {
7887 downcast_call_tag<messagePassportDataSent> type_tag;
7888 func(type_tag);
7889 } else {
7890 func(static_cast<messagePassportDataSent &>(*obj));
7891 }
7892 return true;
7893 case messagePassportDataReceived::ID:
7894 if constexpr (AllowTag) {
7895 downcast_call_tag<messagePassportDataReceived> type_tag;
7896 func(type_tag);
7897 } else {
7898 func(static_cast<messagePassportDataReceived &>(*obj));
7899 }
7900 return true;
7901 case messageProximityAlertTriggered::ID:
7902 if constexpr (AllowTag) {
7903 downcast_call_tag<messageProximityAlertTriggered> type_tag;
7904 func(type_tag);
7905 } else {
7906 func(static_cast<messageProximityAlertTriggered &>(*obj));
7907 }
7908 return true;
7909 case messageUnsupported::ID:
7910 if constexpr (AllowTag) {
7911 downcast_call_tag<messageUnsupported> type_tag;
7912 func(type_tag);
7913 } else {
7914 func(static_cast<messageUnsupported &>(*obj));
7915 }
7916 return true;
7917 case messageCopyOptions::ID:
7918 if constexpr (AllowTag) {
7919 downcast_call_tag<messageCopyOptions> type_tag;
7920 func(type_tag);
7921 } else {
7922 func(static_cast<messageCopyOptions &>(*obj));
7923 }
7924 return true;
7925 case messageEffect::ID:
7926 if constexpr (AllowTag) {
7927 downcast_call_tag<messageEffect> type_tag;
7928 func(type_tag);
7929 } else {
7930 func(static_cast<messageEffect &>(*obj));
7931 }
7932 return true;
7933 case messageEffectTypeEmojiReaction::ID:
7934 if constexpr (AllowTag) {
7935 downcast_call_tag<messageEffectTypeEmojiReaction> type_tag;
7936 func(type_tag);
7937 } else {
7938 func(static_cast<messageEffectTypeEmojiReaction &>(*obj));
7939 }
7940 return true;
7941 case messageEffectTypePremiumSticker::ID:
7942 if constexpr (AllowTag) {
7943 downcast_call_tag<messageEffectTypePremiumSticker> type_tag;
7944 func(type_tag);
7945 } else {
7946 func(static_cast<messageEffectTypePremiumSticker &>(*obj));
7947 }
7948 return true;
7949 case messageFileTypePrivate::ID:
7950 if constexpr (AllowTag) {
7951 downcast_call_tag<messageFileTypePrivate> type_tag;
7952 func(type_tag);
7953 } else {
7954 func(static_cast<messageFileTypePrivate &>(*obj));
7955 }
7956 return true;
7957 case messageFileTypeGroup::ID:
7958 if constexpr (AllowTag) {
7959 downcast_call_tag<messageFileTypeGroup> type_tag;
7960 func(type_tag);
7961 } else {
7962 func(static_cast<messageFileTypeGroup &>(*obj));
7963 }
7964 return true;
7965 case messageFileTypeUnknown::ID:
7966 if constexpr (AllowTag) {
7967 downcast_call_tag<messageFileTypeUnknown> type_tag;
7968 func(type_tag);
7969 } else {
7970 func(static_cast<messageFileTypeUnknown &>(*obj));
7971 }
7972 return true;
7973 case messageForwardInfo::ID:
7974 if constexpr (AllowTag) {
7975 downcast_call_tag<messageForwardInfo> type_tag;
7976 func(type_tag);
7977 } else {
7978 func(static_cast<messageForwardInfo &>(*obj));
7979 }
7980 return true;
7981 case messageImportInfo::ID:
7982 if constexpr (AllowTag) {
7983 downcast_call_tag<messageImportInfo> type_tag;
7984 func(type_tag);
7985 } else {
7986 func(static_cast<messageImportInfo &>(*obj));
7987 }
7988 return true;
7989 case messageInteractionInfo::ID:
7990 if constexpr (AllowTag) {
7991 downcast_call_tag<messageInteractionInfo> type_tag;
7992 func(type_tag);
7993 } else {
7994 func(static_cast<messageInteractionInfo &>(*obj));
7995 }
7996 return true;
7997 case messageLink::ID:
7998 if constexpr (AllowTag) {
7999 downcast_call_tag<messageLink> type_tag;
8000 func(type_tag);
8001 } else {
8002 func(static_cast<messageLink &>(*obj));
8003 }
8004 return true;
8005 case messageLinkInfo::ID:
8006 if constexpr (AllowTag) {
8007 downcast_call_tag<messageLinkInfo> type_tag;
8008 func(type_tag);
8009 } else {
8010 func(static_cast<messageLinkInfo &>(*obj));
8011 }
8012 return true;
8013 case messageOriginUser::ID:
8014 if constexpr (AllowTag) {
8015 downcast_call_tag<messageOriginUser> type_tag;
8016 func(type_tag);
8017 } else {
8018 func(static_cast<messageOriginUser &>(*obj));
8019 }
8020 return true;
8021 case messageOriginHiddenUser::ID:
8022 if constexpr (AllowTag) {
8023 downcast_call_tag<messageOriginHiddenUser> type_tag;
8024 func(type_tag);
8025 } else {
8026 func(static_cast<messageOriginHiddenUser &>(*obj));
8027 }
8028 return true;
8029 case messageOriginChat::ID:
8030 if constexpr (AllowTag) {
8031 downcast_call_tag<messageOriginChat> type_tag;
8032 func(type_tag);
8033 } else {
8034 func(static_cast<messageOriginChat &>(*obj));
8035 }
8036 return true;
8037 case messageOriginChannel::ID:
8038 if constexpr (AllowTag) {
8039 downcast_call_tag<messageOriginChannel> type_tag;
8040 func(type_tag);
8041 } else {
8042 func(static_cast<messageOriginChannel &>(*obj));
8043 }
8044 return true;
8045 case messagePosition::ID:
8046 if constexpr (AllowTag) {
8047 downcast_call_tag<messagePosition> type_tag;
8048 func(type_tag);
8049 } else {
8050 func(static_cast<messagePosition &>(*obj));
8051 }
8052 return true;
8053 case messagePositions::ID:
8054 if constexpr (AllowTag) {
8055 downcast_call_tag<messagePositions> type_tag;
8056 func(type_tag);
8057 } else {
8058 func(static_cast<messagePositions &>(*obj));
8059 }
8060 return true;
8061 case messageProperties::ID:
8062 if constexpr (AllowTag) {
8063 downcast_call_tag<messageProperties> type_tag;
8064 func(type_tag);
8065 } else {
8066 func(static_cast<messageProperties &>(*obj));
8067 }
8068 return true;
8069 case messageReaction::ID:
8070 if constexpr (AllowTag) {
8071 downcast_call_tag<messageReaction> type_tag;
8072 func(type_tag);
8073 } else {
8074 func(static_cast<messageReaction &>(*obj));
8075 }
8076 return true;
8077 case messageReactions::ID:
8078 if constexpr (AllowTag) {
8079 downcast_call_tag<messageReactions> type_tag;
8080 func(type_tag);
8081 } else {
8082 func(static_cast<messageReactions &>(*obj));
8083 }
8084 return true;
8085 case messageReadDateRead::ID:
8086 if constexpr (AllowTag) {
8087 downcast_call_tag<messageReadDateRead> type_tag;
8088 func(type_tag);
8089 } else {
8090 func(static_cast<messageReadDateRead &>(*obj));
8091 }
8092 return true;
8093 case messageReadDateUnread::ID:
8094 if constexpr (AllowTag) {
8095 downcast_call_tag<messageReadDateUnread> type_tag;
8096 func(type_tag);
8097 } else {
8098 func(static_cast<messageReadDateUnread &>(*obj));
8099 }
8100 return true;
8101 case messageReadDateTooOld::ID:
8102 if constexpr (AllowTag) {
8103 downcast_call_tag<messageReadDateTooOld> type_tag;
8104 func(type_tag);
8105 } else {
8106 func(static_cast<messageReadDateTooOld &>(*obj));
8107 }
8108 return true;
8109 case messageReadDateUserPrivacyRestricted::ID:
8110 if constexpr (AllowTag) {
8111 downcast_call_tag<messageReadDateUserPrivacyRestricted> type_tag;
8112 func(type_tag);
8113 } else {
8114 func(static_cast<messageReadDateUserPrivacyRestricted &>(*obj));
8115 }
8116 return true;
8117 case messageReadDateMyPrivacyRestricted::ID:
8118 if constexpr (AllowTag) {
8119 downcast_call_tag<messageReadDateMyPrivacyRestricted> type_tag;
8120 func(type_tag);
8121 } else {
8122 func(static_cast<messageReadDateMyPrivacyRestricted &>(*obj));
8123 }
8124 return true;
8125 case messageReplyInfo::ID:
8126 if constexpr (AllowTag) {
8127 downcast_call_tag<messageReplyInfo> type_tag;
8128 func(type_tag);
8129 } else {
8130 func(static_cast<messageReplyInfo &>(*obj));
8131 }
8132 return true;
8133 case messageReplyToMessage::ID:
8134 if constexpr (AllowTag) {
8135 downcast_call_tag<messageReplyToMessage> type_tag;
8136 func(type_tag);
8137 } else {
8138 func(static_cast<messageReplyToMessage &>(*obj));
8139 }
8140 return true;
8141 case messageReplyToStory::ID:
8142 if constexpr (AllowTag) {
8143 downcast_call_tag<messageReplyToStory> type_tag;
8144 func(type_tag);
8145 } else {
8146 func(static_cast<messageReplyToStory &>(*obj));
8147 }
8148 return true;
8149 case messageSchedulingStateSendAtDate::ID:
8150 if constexpr (AllowTag) {
8151 downcast_call_tag<messageSchedulingStateSendAtDate> type_tag;
8152 func(type_tag);
8153 } else {
8154 func(static_cast<messageSchedulingStateSendAtDate &>(*obj));
8155 }
8156 return true;
8157 case messageSchedulingStateSendWhenOnline::ID:
8158 if constexpr (AllowTag) {
8159 downcast_call_tag<messageSchedulingStateSendWhenOnline> type_tag;
8160 func(type_tag);
8161 } else {
8162 func(static_cast<messageSchedulingStateSendWhenOnline &>(*obj));
8163 }
8164 return true;
8165 case messageSchedulingStateSendWhenVideoProcessed::ID:
8166 if constexpr (AllowTag) {
8167 downcast_call_tag<messageSchedulingStateSendWhenVideoProcessed> type_tag;
8168 func(type_tag);
8169 } else {
8170 func(static_cast<messageSchedulingStateSendWhenVideoProcessed &>(*obj));
8171 }
8172 return true;
8173 case messageSelfDestructTypeTimer::ID:
8174 if constexpr (AllowTag) {
8175 downcast_call_tag<messageSelfDestructTypeTimer> type_tag;
8176 func(type_tag);
8177 } else {
8178 func(static_cast<messageSelfDestructTypeTimer &>(*obj));
8179 }
8180 return true;
8181 case messageSelfDestructTypeImmediately::ID:
8182 if constexpr (AllowTag) {
8183 downcast_call_tag<messageSelfDestructTypeImmediately> type_tag;
8184 func(type_tag);
8185 } else {
8186 func(static_cast<messageSelfDestructTypeImmediately &>(*obj));
8187 }
8188 return true;
8189 case messageSendOptions::ID:
8190 if constexpr (AllowTag) {
8191 downcast_call_tag<messageSendOptions> type_tag;
8192 func(type_tag);
8193 } else {
8194 func(static_cast<messageSendOptions &>(*obj));
8195 }
8196 return true;
8197 case messageSenderUser::ID:
8198 if constexpr (AllowTag) {
8199 downcast_call_tag<messageSenderUser> type_tag;
8200 func(type_tag);
8201 } else {
8202 func(static_cast<messageSenderUser &>(*obj));
8203 }
8204 return true;
8205 case messageSenderChat::ID:
8206 if constexpr (AllowTag) {
8207 downcast_call_tag<messageSenderChat> type_tag;
8208 func(type_tag);
8209 } else {
8210 func(static_cast<messageSenderChat &>(*obj));
8211 }
8212 return true;
8213 case messageSenders::ID:
8214 if constexpr (AllowTag) {
8215 downcast_call_tag<messageSenders> type_tag;
8216 func(type_tag);
8217 } else {
8218 func(static_cast<messageSenders &>(*obj));
8219 }
8220 return true;
8221 case messageSendingStatePending::ID:
8222 if constexpr (AllowTag) {
8223 downcast_call_tag<messageSendingStatePending> type_tag;
8224 func(type_tag);
8225 } else {
8226 func(static_cast<messageSendingStatePending &>(*obj));
8227 }
8228 return true;
8229 case messageSendingStateFailed::ID:
8230 if constexpr (AllowTag) {
8231 downcast_call_tag<messageSendingStateFailed> type_tag;
8232 func(type_tag);
8233 } else {
8234 func(static_cast<messageSendingStateFailed &>(*obj));
8235 }
8236 return true;
8237 case messageSourceChatHistory::ID:
8238 if constexpr (AllowTag) {
8239 downcast_call_tag<messageSourceChatHistory> type_tag;
8240 func(type_tag);
8241 } else {
8242 func(static_cast<messageSourceChatHistory &>(*obj));
8243 }
8244 return true;
8245 case messageSourceMessageThreadHistory::ID:
8246 if constexpr (AllowTag) {
8247 downcast_call_tag<messageSourceMessageThreadHistory> type_tag;
8248 func(type_tag);
8249 } else {
8250 func(static_cast<messageSourceMessageThreadHistory &>(*obj));
8251 }
8252 return true;
8253 case messageSourceForumTopicHistory::ID:
8254 if constexpr (AllowTag) {
8255 downcast_call_tag<messageSourceForumTopicHistory> type_tag;
8256 func(type_tag);
8257 } else {
8258 func(static_cast<messageSourceForumTopicHistory &>(*obj));
8259 }
8260 return true;
8261 case messageSourceDirectMessagesChatTopicHistory::ID:
8262 if constexpr (AllowTag) {
8263 downcast_call_tag<messageSourceDirectMessagesChatTopicHistory> type_tag;
8264 func(type_tag);
8265 } else {
8266 func(static_cast<messageSourceDirectMessagesChatTopicHistory &>(*obj));
8267 }
8268 return true;
8269 case messageSourceHistoryPreview::ID:
8270 if constexpr (AllowTag) {
8271 downcast_call_tag<messageSourceHistoryPreview> type_tag;
8272 func(type_tag);
8273 } else {
8274 func(static_cast<messageSourceHistoryPreview &>(*obj));
8275 }
8276 return true;
8277 case messageSourceChatList::ID:
8278 if constexpr (AllowTag) {
8279 downcast_call_tag<messageSourceChatList> type_tag;
8280 func(type_tag);
8281 } else {
8282 func(static_cast<messageSourceChatList &>(*obj));
8283 }
8284 return true;
8285 case messageSourceSearch::ID:
8286 if constexpr (AllowTag) {
8287 downcast_call_tag<messageSourceSearch> type_tag;
8288 func(type_tag);
8289 } else {
8290 func(static_cast<messageSourceSearch &>(*obj));
8291 }
8292 return true;
8293 case messageSourceChatEventLog::ID:
8294 if constexpr (AllowTag) {
8295 downcast_call_tag<messageSourceChatEventLog> type_tag;
8296 func(type_tag);
8297 } else {
8298 func(static_cast<messageSourceChatEventLog &>(*obj));
8299 }
8300 return true;
8301 case messageSourceNotification::ID:
8302 if constexpr (AllowTag) {
8303 downcast_call_tag<messageSourceNotification> type_tag;
8304 func(type_tag);
8305 } else {
8306 func(static_cast<messageSourceNotification &>(*obj));
8307 }
8308 return true;
8309 case messageSourceScreenshot::ID:
8310 if constexpr (AllowTag) {
8311 downcast_call_tag<messageSourceScreenshot> type_tag;
8312 func(type_tag);
8313 } else {
8314 func(static_cast<messageSourceScreenshot &>(*obj));
8315 }
8316 return true;
8317 case messageSourceOther::ID:
8318 if constexpr (AllowTag) {
8319 downcast_call_tag<messageSourceOther> type_tag;
8320 func(type_tag);
8321 } else {
8322 func(static_cast<messageSourceOther &>(*obj));
8323 }
8324 return true;
8325 case messageStatistics::ID:
8326 if constexpr (AllowTag) {
8327 downcast_call_tag<messageStatistics> type_tag;
8328 func(type_tag);
8329 } else {
8330 func(static_cast<messageStatistics &>(*obj));
8331 }
8332 return true;
8333 case messageThreadInfo::ID:
8334 if constexpr (AllowTag) {
8335 downcast_call_tag<messageThreadInfo> type_tag;
8336 func(type_tag);
8337 } else {
8338 func(static_cast<messageThreadInfo &>(*obj));
8339 }
8340 return true;
8341 case messageTopicThread::ID:
8342 if constexpr (AllowTag) {
8343 downcast_call_tag<messageTopicThread> type_tag;
8344 func(type_tag);
8345 } else {
8346 func(static_cast<messageTopicThread &>(*obj));
8347 }
8348 return true;
8349 case messageTopicForum::ID:
8350 if constexpr (AllowTag) {
8351 downcast_call_tag<messageTopicForum> type_tag;
8352 func(type_tag);
8353 } else {
8354 func(static_cast<messageTopicForum &>(*obj));
8355 }
8356 return true;
8357 case messageTopicDirectMessages::ID:
8358 if constexpr (AllowTag) {
8359 downcast_call_tag<messageTopicDirectMessages> type_tag;
8360 func(type_tag);
8361 } else {
8362 func(static_cast<messageTopicDirectMessages &>(*obj));
8363 }
8364 return true;
8365 case messageTopicSavedMessages::ID:
8366 if constexpr (AllowTag) {
8367 downcast_call_tag<messageTopicSavedMessages> type_tag;
8368 func(type_tag);
8369 } else {
8370 func(static_cast<messageTopicSavedMessages &>(*obj));
8371 }
8372 return true;
8373 case messageViewer::ID:
8374 if constexpr (AllowTag) {
8375 downcast_call_tag<messageViewer> type_tag;
8376 func(type_tag);
8377 } else {
8378 func(static_cast<messageViewer &>(*obj));
8379 }
8380 return true;
8381 case messageViewers::ID:
8382 if constexpr (AllowTag) {
8383 downcast_call_tag<messageViewers> type_tag;
8384 func(type_tag);
8385 } else {
8386 func(static_cast<messageViewers &>(*obj));
8387 }
8388 return true;
8389 case messages::ID:
8390 if constexpr (AllowTag) {
8391 downcast_call_tag<messages> type_tag;
8392 func(type_tag);
8393 } else {
8394 func(static_cast<messages &>(*obj));
8395 }
8396 return true;
8397 case minithumbnail::ID:
8398 if constexpr (AllowTag) {
8399 downcast_call_tag<minithumbnail> type_tag;
8400 func(type_tag);
8401 } else {
8402 func(static_cast<minithumbnail &>(*obj));
8403 }
8404 return true;
8405 case networkStatistics::ID:
8406 if constexpr (AllowTag) {
8407 downcast_call_tag<networkStatistics> type_tag;
8408 func(type_tag);
8409 } else {
8410 func(static_cast<networkStatistics &>(*obj));
8411 }
8412 return true;
8413 case networkStatisticsEntryFile::ID:
8414 if constexpr (AllowTag) {
8415 downcast_call_tag<networkStatisticsEntryFile> type_tag;
8416 func(type_tag);
8417 } else {
8418 func(static_cast<networkStatisticsEntryFile &>(*obj));
8419 }
8420 return true;
8421 case networkStatisticsEntryCall::ID:
8422 if constexpr (AllowTag) {
8423 downcast_call_tag<networkStatisticsEntryCall> type_tag;
8424 func(type_tag);
8425 } else {
8426 func(static_cast<networkStatisticsEntryCall &>(*obj));
8427 }
8428 return true;
8429 case networkTypeNone::ID:
8430 if constexpr (AllowTag) {
8431 downcast_call_tag<networkTypeNone> type_tag;
8432 func(type_tag);
8433 } else {
8434 func(static_cast<networkTypeNone &>(*obj));
8435 }
8436 return true;
8437 case networkTypeMobile::ID:
8438 if constexpr (AllowTag) {
8439 downcast_call_tag<networkTypeMobile> type_tag;
8440 func(type_tag);
8441 } else {
8442 func(static_cast<networkTypeMobile &>(*obj));
8443 }
8444 return true;
8445 case networkTypeMobileRoaming::ID:
8446 if constexpr (AllowTag) {
8447 downcast_call_tag<networkTypeMobileRoaming> type_tag;
8448 func(type_tag);
8449 } else {
8450 func(static_cast<networkTypeMobileRoaming &>(*obj));
8451 }
8452 return true;
8453 case networkTypeWiFi::ID:
8454 if constexpr (AllowTag) {
8455 downcast_call_tag<networkTypeWiFi> type_tag;
8456 func(type_tag);
8457 } else {
8458 func(static_cast<networkTypeWiFi &>(*obj));
8459 }
8460 return true;
8461 case networkTypeOther::ID:
8462 if constexpr (AllowTag) {
8463 downcast_call_tag<networkTypeOther> type_tag;
8464 func(type_tag);
8465 } else {
8466 func(static_cast<networkTypeOther &>(*obj));
8467 }
8468 return true;
8469 case newChatPrivacySettings::ID:
8470 if constexpr (AllowTag) {
8471 downcast_call_tag<newChatPrivacySettings> type_tag;
8472 func(type_tag);
8473 } else {
8474 func(static_cast<newChatPrivacySettings &>(*obj));
8475 }
8476 return true;
8477 case notification::ID:
8478 if constexpr (AllowTag) {
8479 downcast_call_tag<notification> type_tag;
8480 func(type_tag);
8481 } else {
8482 func(static_cast<notification &>(*obj));
8483 }
8484 return true;
8485 case notificationGroup::ID:
8486 if constexpr (AllowTag) {
8487 downcast_call_tag<notificationGroup> type_tag;
8488 func(type_tag);
8489 } else {
8490 func(static_cast<notificationGroup &>(*obj));
8491 }
8492 return true;
8493 case notificationGroupTypeMessages::ID:
8494 if constexpr (AllowTag) {
8495 downcast_call_tag<notificationGroupTypeMessages> type_tag;
8496 func(type_tag);
8497 } else {
8498 func(static_cast<notificationGroupTypeMessages &>(*obj));
8499 }
8500 return true;
8501 case notificationGroupTypeMentions::ID:
8502 if constexpr (AllowTag) {
8503 downcast_call_tag<notificationGroupTypeMentions> type_tag;
8504 func(type_tag);
8505 } else {
8506 func(static_cast<notificationGroupTypeMentions &>(*obj));
8507 }
8508 return true;
8509 case notificationGroupTypeSecretChat::ID:
8510 if constexpr (AllowTag) {
8511 downcast_call_tag<notificationGroupTypeSecretChat> type_tag;
8512 func(type_tag);
8513 } else {
8514 func(static_cast<notificationGroupTypeSecretChat &>(*obj));
8515 }
8516 return true;
8517 case notificationGroupTypeCalls::ID:
8518 if constexpr (AllowTag) {
8519 downcast_call_tag<notificationGroupTypeCalls> type_tag;
8520 func(type_tag);
8521 } else {
8522 func(static_cast<notificationGroupTypeCalls &>(*obj));
8523 }
8524 return true;
8525 case notificationSettingsScopePrivateChats::ID:
8526 if constexpr (AllowTag) {
8527 downcast_call_tag<notificationSettingsScopePrivateChats> type_tag;
8528 func(type_tag);
8529 } else {
8530 func(static_cast<notificationSettingsScopePrivateChats &>(*obj));
8531 }
8532 return true;
8533 case notificationSettingsScopeGroupChats::ID:
8534 if constexpr (AllowTag) {
8535 downcast_call_tag<notificationSettingsScopeGroupChats> type_tag;
8536 func(type_tag);
8537 } else {
8538 func(static_cast<notificationSettingsScopeGroupChats &>(*obj));
8539 }
8540 return true;
8541 case notificationSettingsScopeChannelChats::ID:
8542 if constexpr (AllowTag) {
8543 downcast_call_tag<notificationSettingsScopeChannelChats> type_tag;
8544 func(type_tag);
8545 } else {
8546 func(static_cast<notificationSettingsScopeChannelChats &>(*obj));
8547 }
8548 return true;
8549 case notificationSound::ID:
8550 if constexpr (AllowTag) {
8551 downcast_call_tag<notificationSound> type_tag;
8552 func(type_tag);
8553 } else {
8554 func(static_cast<notificationSound &>(*obj));
8555 }
8556 return true;
8557 case notificationSounds::ID:
8558 if constexpr (AllowTag) {
8559 downcast_call_tag<notificationSounds> type_tag;
8560 func(type_tag);
8561 } else {
8562 func(static_cast<notificationSounds &>(*obj));
8563 }
8564 return true;
8565 case notificationTypeNewMessage::ID:
8566 if constexpr (AllowTag) {
8567 downcast_call_tag<notificationTypeNewMessage> type_tag;
8568 func(type_tag);
8569 } else {
8570 func(static_cast<notificationTypeNewMessage &>(*obj));
8571 }
8572 return true;
8573 case notificationTypeNewSecretChat::ID:
8574 if constexpr (AllowTag) {
8575 downcast_call_tag<notificationTypeNewSecretChat> type_tag;
8576 func(type_tag);
8577 } else {
8578 func(static_cast<notificationTypeNewSecretChat &>(*obj));
8579 }
8580 return true;
8581 case notificationTypeNewCall::ID:
8582 if constexpr (AllowTag) {
8583 downcast_call_tag<notificationTypeNewCall> type_tag;
8584 func(type_tag);
8585 } else {
8586 func(static_cast<notificationTypeNewCall &>(*obj));
8587 }
8588 return true;
8589 case notificationTypeNewPushMessage::ID:
8590 if constexpr (AllowTag) {
8591 downcast_call_tag<notificationTypeNewPushMessage> type_tag;
8592 func(type_tag);
8593 } else {
8594 func(static_cast<notificationTypeNewPushMessage &>(*obj));
8595 }
8596 return true;
8597 case oauthLinkInfo::ID:
8598 if constexpr (AllowTag) {
8599 downcast_call_tag<oauthLinkInfo> type_tag;
8600 func(type_tag);
8601 } else {
8602 func(static_cast<oauthLinkInfo &>(*obj));
8603 }
8604 return true;
8605 case ok::ID:
8606 if constexpr (AllowTag) {
8607 downcast_call_tag<ok> type_tag;
8608 func(type_tag);
8609 } else {
8610 func(static_cast<ok &>(*obj));
8611 }
8612 return true;
8613 case optionValueBoolean::ID:
8614 if constexpr (AllowTag) {
8615 downcast_call_tag<optionValueBoolean> type_tag;
8616 func(type_tag);
8617 } else {
8618 func(static_cast<optionValueBoolean &>(*obj));
8619 }
8620 return true;
8621 case optionValueEmpty::ID:
8622 if constexpr (AllowTag) {
8623 downcast_call_tag<optionValueEmpty> type_tag;
8624 func(type_tag);
8625 } else {
8626 func(static_cast<optionValueEmpty &>(*obj));
8627 }
8628 return true;
8629 case optionValueInteger::ID:
8630 if constexpr (AllowTag) {
8631 downcast_call_tag<optionValueInteger> type_tag;
8632 func(type_tag);
8633 } else {
8634 func(static_cast<optionValueInteger &>(*obj));
8635 }
8636 return true;
8637 case optionValueString::ID:
8638 if constexpr (AllowTag) {
8639 downcast_call_tag<optionValueString> type_tag;
8640 func(type_tag);
8641 } else {
8642 func(static_cast<optionValueString &>(*obj));
8643 }
8644 return true;
8645 case orderInfo::ID:
8646 if constexpr (AllowTag) {
8647 downcast_call_tag<orderInfo> type_tag;
8648 func(type_tag);
8649 } else {
8650 func(static_cast<orderInfo &>(*obj));
8651 }
8652 return true;
8653 case outline::ID:
8654 if constexpr (AllowTag) {
8655 downcast_call_tag<outline> type_tag;
8656 func(type_tag);
8657 } else {
8658 func(static_cast<outline &>(*obj));
8659 }
8660 return true;
8661 case pageBlockTitle::ID:
8662 if constexpr (AllowTag) {
8663 downcast_call_tag<pageBlockTitle> type_tag;
8664 func(type_tag);
8665 } else {
8666 func(static_cast<pageBlockTitle &>(*obj));
8667 }
8668 return true;
8669 case pageBlockSubtitle::ID:
8670 if constexpr (AllowTag) {
8671 downcast_call_tag<pageBlockSubtitle> type_tag;
8672 func(type_tag);
8673 } else {
8674 func(static_cast<pageBlockSubtitle &>(*obj));
8675 }
8676 return true;
8677 case pageBlockAuthorDate::ID:
8678 if constexpr (AllowTag) {
8679 downcast_call_tag<pageBlockAuthorDate> type_tag;
8680 func(type_tag);
8681 } else {
8682 func(static_cast<pageBlockAuthorDate &>(*obj));
8683 }
8684 return true;
8685 case pageBlockHeader::ID:
8686 if constexpr (AllowTag) {
8687 downcast_call_tag<pageBlockHeader> type_tag;
8688 func(type_tag);
8689 } else {
8690 func(static_cast<pageBlockHeader &>(*obj));
8691 }
8692 return true;
8693 case pageBlockSubheader::ID:
8694 if constexpr (AllowTag) {
8695 downcast_call_tag<pageBlockSubheader> type_tag;
8696 func(type_tag);
8697 } else {
8698 func(static_cast<pageBlockSubheader &>(*obj));
8699 }
8700 return true;
8701 case pageBlockKicker::ID:
8702 if constexpr (AllowTag) {
8703 downcast_call_tag<pageBlockKicker> type_tag;
8704 func(type_tag);
8705 } else {
8706 func(static_cast<pageBlockKicker &>(*obj));
8707 }
8708 return true;
8709 case pageBlockParagraph::ID:
8710 if constexpr (AllowTag) {
8711 downcast_call_tag<pageBlockParagraph> type_tag;
8712 func(type_tag);
8713 } else {
8714 func(static_cast<pageBlockParagraph &>(*obj));
8715 }
8716 return true;
8717 case pageBlockPreformatted::ID:
8718 if constexpr (AllowTag) {
8719 downcast_call_tag<pageBlockPreformatted> type_tag;
8720 func(type_tag);
8721 } else {
8722 func(static_cast<pageBlockPreformatted &>(*obj));
8723 }
8724 return true;
8725 case pageBlockFooter::ID:
8726 if constexpr (AllowTag) {
8727 downcast_call_tag<pageBlockFooter> type_tag;
8728 func(type_tag);
8729 } else {
8730 func(static_cast<pageBlockFooter &>(*obj));
8731 }
8732 return true;
8733 case pageBlockDivider::ID:
8734 if constexpr (AllowTag) {
8735 downcast_call_tag<pageBlockDivider> type_tag;
8736 func(type_tag);
8737 } else {
8738 func(static_cast<pageBlockDivider &>(*obj));
8739 }
8740 return true;
8741 case pageBlockAnchor::ID:
8742 if constexpr (AllowTag) {
8743 downcast_call_tag<pageBlockAnchor> type_tag;
8744 func(type_tag);
8745 } else {
8746 func(static_cast<pageBlockAnchor &>(*obj));
8747 }
8748 return true;
8749 case pageBlockList::ID:
8750 if constexpr (AllowTag) {
8751 downcast_call_tag<pageBlockList> type_tag;
8752 func(type_tag);
8753 } else {
8754 func(static_cast<pageBlockList &>(*obj));
8755 }
8756 return true;
8757 case pageBlockBlockQuote::ID:
8758 if constexpr (AllowTag) {
8759 downcast_call_tag<pageBlockBlockQuote> type_tag;
8760 func(type_tag);
8761 } else {
8762 func(static_cast<pageBlockBlockQuote &>(*obj));
8763 }
8764 return true;
8765 case pageBlockPullQuote::ID:
8766 if constexpr (AllowTag) {
8767 downcast_call_tag<pageBlockPullQuote> type_tag;
8768 func(type_tag);
8769 } else {
8770 func(static_cast<pageBlockPullQuote &>(*obj));
8771 }
8772 return true;
8773 case pageBlockAnimation::ID:
8774 if constexpr (AllowTag) {
8775 downcast_call_tag<pageBlockAnimation> type_tag;
8776 func(type_tag);
8777 } else {
8778 func(static_cast<pageBlockAnimation &>(*obj));
8779 }
8780 return true;
8781 case pageBlockAudio::ID:
8782 if constexpr (AllowTag) {
8783 downcast_call_tag<pageBlockAudio> type_tag;
8784 func(type_tag);
8785 } else {
8786 func(static_cast<pageBlockAudio &>(*obj));
8787 }
8788 return true;
8789 case pageBlockPhoto::ID:
8790 if constexpr (AllowTag) {
8791 downcast_call_tag<pageBlockPhoto> type_tag;
8792 func(type_tag);
8793 } else {
8794 func(static_cast<pageBlockPhoto &>(*obj));
8795 }
8796 return true;
8797 case pageBlockVideo::ID:
8798 if constexpr (AllowTag) {
8799 downcast_call_tag<pageBlockVideo> type_tag;
8800 func(type_tag);
8801 } else {
8802 func(static_cast<pageBlockVideo &>(*obj));
8803 }
8804 return true;
8805 case pageBlockVoiceNote::ID:
8806 if constexpr (AllowTag) {
8807 downcast_call_tag<pageBlockVoiceNote> type_tag;
8808 func(type_tag);
8809 } else {
8810 func(static_cast<pageBlockVoiceNote &>(*obj));
8811 }
8812 return true;
8813 case pageBlockCover::ID:
8814 if constexpr (AllowTag) {
8815 downcast_call_tag<pageBlockCover> type_tag;
8816 func(type_tag);
8817 } else {
8818 func(static_cast<pageBlockCover &>(*obj));
8819 }
8820 return true;
8821 case pageBlockEmbedded::ID:
8822 if constexpr (AllowTag) {
8823 downcast_call_tag<pageBlockEmbedded> type_tag;
8824 func(type_tag);
8825 } else {
8826 func(static_cast<pageBlockEmbedded &>(*obj));
8827 }
8828 return true;
8829 case pageBlockEmbeddedPost::ID:
8830 if constexpr (AllowTag) {
8831 downcast_call_tag<pageBlockEmbeddedPost> type_tag;
8832 func(type_tag);
8833 } else {
8834 func(static_cast<pageBlockEmbeddedPost &>(*obj));
8835 }
8836 return true;
8837 case pageBlockCollage::ID:
8838 if constexpr (AllowTag) {
8839 downcast_call_tag<pageBlockCollage> type_tag;
8840 func(type_tag);
8841 } else {
8842 func(static_cast<pageBlockCollage &>(*obj));
8843 }
8844 return true;
8845 case pageBlockSlideshow::ID:
8846 if constexpr (AllowTag) {
8847 downcast_call_tag<pageBlockSlideshow> type_tag;
8848 func(type_tag);
8849 } else {
8850 func(static_cast<pageBlockSlideshow &>(*obj));
8851 }
8852 return true;
8853 case pageBlockChatLink::ID:
8854 if constexpr (AllowTag) {
8855 downcast_call_tag<pageBlockChatLink> type_tag;
8856 func(type_tag);
8857 } else {
8858 func(static_cast<pageBlockChatLink &>(*obj));
8859 }
8860 return true;
8861 case pageBlockTable::ID:
8862 if constexpr (AllowTag) {
8863 downcast_call_tag<pageBlockTable> type_tag;
8864 func(type_tag);
8865 } else {
8866 func(static_cast<pageBlockTable &>(*obj));
8867 }
8868 return true;
8869 case pageBlockDetails::ID:
8870 if constexpr (AllowTag) {
8871 downcast_call_tag<pageBlockDetails> type_tag;
8872 func(type_tag);
8873 } else {
8874 func(static_cast<pageBlockDetails &>(*obj));
8875 }
8876 return true;
8877 case pageBlockRelatedArticles::ID:
8878 if constexpr (AllowTag) {
8879 downcast_call_tag<pageBlockRelatedArticles> type_tag;
8880 func(type_tag);
8881 } else {
8882 func(static_cast<pageBlockRelatedArticles &>(*obj));
8883 }
8884 return true;
8885 case pageBlockMap::ID:
8886 if constexpr (AllowTag) {
8887 downcast_call_tag<pageBlockMap> type_tag;
8888 func(type_tag);
8889 } else {
8890 func(static_cast<pageBlockMap &>(*obj));
8891 }
8892 return true;
8893 case pageBlockCaption::ID:
8894 if constexpr (AllowTag) {
8895 downcast_call_tag<pageBlockCaption> type_tag;
8896 func(type_tag);
8897 } else {
8898 func(static_cast<pageBlockCaption &>(*obj));
8899 }
8900 return true;
8901 case pageBlockHorizontalAlignmentLeft::ID:
8902 if constexpr (AllowTag) {
8903 downcast_call_tag<pageBlockHorizontalAlignmentLeft> type_tag;
8904 func(type_tag);
8905 } else {
8906 func(static_cast<pageBlockHorizontalAlignmentLeft &>(*obj));
8907 }
8908 return true;
8909 case pageBlockHorizontalAlignmentCenter::ID:
8910 if constexpr (AllowTag) {
8911 downcast_call_tag<pageBlockHorizontalAlignmentCenter> type_tag;
8912 func(type_tag);
8913 } else {
8914 func(static_cast<pageBlockHorizontalAlignmentCenter &>(*obj));
8915 }
8916 return true;
8917 case pageBlockHorizontalAlignmentRight::ID:
8918 if constexpr (AllowTag) {
8919 downcast_call_tag<pageBlockHorizontalAlignmentRight> type_tag;
8920 func(type_tag);
8921 } else {
8922 func(static_cast<pageBlockHorizontalAlignmentRight &>(*obj));
8923 }
8924 return true;
8925 case pageBlockListItem::ID:
8926 if constexpr (AllowTag) {
8927 downcast_call_tag<pageBlockListItem> type_tag;
8928 func(type_tag);
8929 } else {
8930 func(static_cast<pageBlockListItem &>(*obj));
8931 }
8932 return true;
8933 case pageBlockRelatedArticle::ID:
8934 if constexpr (AllowTag) {
8935 downcast_call_tag<pageBlockRelatedArticle> type_tag;
8936 func(type_tag);
8937 } else {
8938 func(static_cast<pageBlockRelatedArticle &>(*obj));
8939 }
8940 return true;
8941 case pageBlockTableCell::ID:
8942 if constexpr (AllowTag) {
8943 downcast_call_tag<pageBlockTableCell> type_tag;
8944 func(type_tag);
8945 } else {
8946 func(static_cast<pageBlockTableCell &>(*obj));
8947 }
8948 return true;
8949 case pageBlockVerticalAlignmentTop::ID:
8950 if constexpr (AllowTag) {
8951 downcast_call_tag<pageBlockVerticalAlignmentTop> type_tag;
8952 func(type_tag);
8953 } else {
8954 func(static_cast<pageBlockVerticalAlignmentTop &>(*obj));
8955 }
8956 return true;
8957 case pageBlockVerticalAlignmentMiddle::ID:
8958 if constexpr (AllowTag) {
8959 downcast_call_tag<pageBlockVerticalAlignmentMiddle> type_tag;
8960 func(type_tag);
8961 } else {
8962 func(static_cast<pageBlockVerticalAlignmentMiddle &>(*obj));
8963 }
8964 return true;
8965 case pageBlockVerticalAlignmentBottom::ID:
8966 if constexpr (AllowTag) {
8967 downcast_call_tag<pageBlockVerticalAlignmentBottom> type_tag;
8968 func(type_tag);
8969 } else {
8970 func(static_cast<pageBlockVerticalAlignmentBottom &>(*obj));
8971 }
8972 return true;
8973 case paidMediaPreview::ID:
8974 if constexpr (AllowTag) {
8975 downcast_call_tag<paidMediaPreview> type_tag;
8976 func(type_tag);
8977 } else {
8978 func(static_cast<paidMediaPreview &>(*obj));
8979 }
8980 return true;
8981 case paidMediaPhoto::ID:
8982 if constexpr (AllowTag) {
8983 downcast_call_tag<paidMediaPhoto> type_tag;
8984 func(type_tag);
8985 } else {
8986 func(static_cast<paidMediaPhoto &>(*obj));
8987 }
8988 return true;
8989 case paidMediaVideo::ID:
8990 if constexpr (AllowTag) {
8991 downcast_call_tag<paidMediaVideo> type_tag;
8992 func(type_tag);
8993 } else {
8994 func(static_cast<paidMediaVideo &>(*obj));
8995 }
8996 return true;
8997 case paidMediaUnsupported::ID:
8998 if constexpr (AllowTag) {
8999 downcast_call_tag<paidMediaUnsupported> type_tag;
9000 func(type_tag);
9001 } else {
9002 func(static_cast<paidMediaUnsupported &>(*obj));
9003 }
9004 return true;
9005 case paidReactionTypeRegular::ID:
9006 if constexpr (AllowTag) {
9007 downcast_call_tag<paidReactionTypeRegular> type_tag;
9008 func(type_tag);
9009 } else {
9010 func(static_cast<paidReactionTypeRegular &>(*obj));
9011 }
9012 return true;
9013 case paidReactionTypeAnonymous::ID:
9014 if constexpr (AllowTag) {
9015 downcast_call_tag<paidReactionTypeAnonymous> type_tag;
9016 func(type_tag);
9017 } else {
9018 func(static_cast<paidReactionTypeAnonymous &>(*obj));
9019 }
9020 return true;
9021 case paidReactionTypeChat::ID:
9022 if constexpr (AllowTag) {
9023 downcast_call_tag<paidReactionTypeChat> type_tag;
9024 func(type_tag);
9025 } else {
9026 func(static_cast<paidReactionTypeChat &>(*obj));
9027 }
9028 return true;
9029 case paidReactor::ID:
9030 if constexpr (AllowTag) {
9031 downcast_call_tag<paidReactor> type_tag;
9032 func(type_tag);
9033 } else {
9034 func(static_cast<paidReactor &>(*obj));
9035 }
9036 return true;
9037 case passkey::ID:
9038 if constexpr (AllowTag) {
9039 downcast_call_tag<passkey> type_tag;
9040 func(type_tag);
9041 } else {
9042 func(static_cast<passkey &>(*obj));
9043 }
9044 return true;
9045 case passkeys::ID:
9046 if constexpr (AllowTag) {
9047 downcast_call_tag<passkeys> type_tag;
9048 func(type_tag);
9049 } else {
9050 func(static_cast<passkeys &>(*obj));
9051 }
9052 return true;
9053 case passportAuthorizationForm::ID:
9054 if constexpr (AllowTag) {
9055 downcast_call_tag<passportAuthorizationForm> type_tag;
9056 func(type_tag);
9057 } else {
9058 func(static_cast<passportAuthorizationForm &>(*obj));
9059 }
9060 return true;
9061 case passportElementPersonalDetails::ID:
9062 if constexpr (AllowTag) {
9063 downcast_call_tag<passportElementPersonalDetails> type_tag;
9064 func(type_tag);
9065 } else {
9066 func(static_cast<passportElementPersonalDetails &>(*obj));
9067 }
9068 return true;
9069 case passportElementPassport::ID:
9070 if constexpr (AllowTag) {
9071 downcast_call_tag<passportElementPassport> type_tag;
9072 func(type_tag);
9073 } else {
9074 func(static_cast<passportElementPassport &>(*obj));
9075 }
9076 return true;
9077 case passportElementDriverLicense::ID:
9078 if constexpr (AllowTag) {
9079 downcast_call_tag<passportElementDriverLicense> type_tag;
9080 func(type_tag);
9081 } else {
9082 func(static_cast<passportElementDriverLicense &>(*obj));
9083 }
9084 return true;
9085 case passportElementIdentityCard::ID:
9086 if constexpr (AllowTag) {
9087 downcast_call_tag<passportElementIdentityCard> type_tag;
9088 func(type_tag);
9089 } else {
9090 func(static_cast<passportElementIdentityCard &>(*obj));
9091 }
9092 return true;
9093 case passportElementInternalPassport::ID:
9094 if constexpr (AllowTag) {
9095 downcast_call_tag<passportElementInternalPassport> type_tag;
9096 func(type_tag);
9097 } else {
9098 func(static_cast<passportElementInternalPassport &>(*obj));
9099 }
9100 return true;
9101 case passportElementAddress::ID:
9102 if constexpr (AllowTag) {
9103 downcast_call_tag<passportElementAddress> type_tag;
9104 func(type_tag);
9105 } else {
9106 func(static_cast<passportElementAddress &>(*obj));
9107 }
9108 return true;
9109 case passportElementUtilityBill::ID:
9110 if constexpr (AllowTag) {
9111 downcast_call_tag<passportElementUtilityBill> type_tag;
9112 func(type_tag);
9113 } else {
9114 func(static_cast<passportElementUtilityBill &>(*obj));
9115 }
9116 return true;
9117 case passportElementBankStatement::ID:
9118 if constexpr (AllowTag) {
9119 downcast_call_tag<passportElementBankStatement> type_tag;
9120 func(type_tag);
9121 } else {
9122 func(static_cast<passportElementBankStatement &>(*obj));
9123 }
9124 return true;
9125 case passportElementRentalAgreement::ID:
9126 if constexpr (AllowTag) {
9127 downcast_call_tag<passportElementRentalAgreement> type_tag;
9128 func(type_tag);
9129 } else {
9130 func(static_cast<passportElementRentalAgreement &>(*obj));
9131 }
9132 return true;
9133 case passportElementPassportRegistration::ID:
9134 if constexpr (AllowTag) {
9135 downcast_call_tag<passportElementPassportRegistration> type_tag;
9136 func(type_tag);
9137 } else {
9138 func(static_cast<passportElementPassportRegistration &>(*obj));
9139 }
9140 return true;
9141 case passportElementTemporaryRegistration::ID:
9142 if constexpr (AllowTag) {
9143 downcast_call_tag<passportElementTemporaryRegistration> type_tag;
9144 func(type_tag);
9145 } else {
9146 func(static_cast<passportElementTemporaryRegistration &>(*obj));
9147 }
9148 return true;
9149 case passportElementPhoneNumber::ID:
9150 if constexpr (AllowTag) {
9151 downcast_call_tag<passportElementPhoneNumber> type_tag;
9152 func(type_tag);
9153 } else {
9154 func(static_cast<passportElementPhoneNumber &>(*obj));
9155 }
9156 return true;
9157 case passportElementEmailAddress::ID:
9158 if constexpr (AllowTag) {
9159 downcast_call_tag<passportElementEmailAddress> type_tag;
9160 func(type_tag);
9161 } else {
9162 func(static_cast<passportElementEmailAddress &>(*obj));
9163 }
9164 return true;
9165 case passportElementError::ID:
9166 if constexpr (AllowTag) {
9167 downcast_call_tag<passportElementError> type_tag;
9168 func(type_tag);
9169 } else {
9170 func(static_cast<passportElementError &>(*obj));
9171 }
9172 return true;
9173 case passportElementErrorSourceUnspecified::ID:
9174 if constexpr (AllowTag) {
9175 downcast_call_tag<passportElementErrorSourceUnspecified> type_tag;
9176 func(type_tag);
9177 } else {
9178 func(static_cast<passportElementErrorSourceUnspecified &>(*obj));
9179 }
9180 return true;
9181 case passportElementErrorSourceDataField::ID:
9182 if constexpr (AllowTag) {
9183 downcast_call_tag<passportElementErrorSourceDataField> type_tag;
9184 func(type_tag);
9185 } else {
9186 func(static_cast<passportElementErrorSourceDataField &>(*obj));
9187 }
9188 return true;
9189 case passportElementErrorSourceFrontSide::ID:
9190 if constexpr (AllowTag) {
9191 downcast_call_tag<passportElementErrorSourceFrontSide> type_tag;
9192 func(type_tag);
9193 } else {
9194 func(static_cast<passportElementErrorSourceFrontSide &>(*obj));
9195 }
9196 return true;
9197 case passportElementErrorSourceReverseSide::ID:
9198 if constexpr (AllowTag) {
9199 downcast_call_tag<passportElementErrorSourceReverseSide> type_tag;
9200 func(type_tag);
9201 } else {
9202 func(static_cast<passportElementErrorSourceReverseSide &>(*obj));
9203 }
9204 return true;
9205 case passportElementErrorSourceSelfie::ID:
9206 if constexpr (AllowTag) {
9207 downcast_call_tag<passportElementErrorSourceSelfie> type_tag;
9208 func(type_tag);
9209 } else {
9210 func(static_cast<passportElementErrorSourceSelfie &>(*obj));
9211 }
9212 return true;
9213 case passportElementErrorSourceTranslationFile::ID:
9214 if constexpr (AllowTag) {
9215 downcast_call_tag<passportElementErrorSourceTranslationFile> type_tag;
9216 func(type_tag);
9217 } else {
9218 func(static_cast<passportElementErrorSourceTranslationFile &>(*obj));
9219 }
9220 return true;
9221 case passportElementErrorSourceTranslationFiles::ID:
9222 if constexpr (AllowTag) {
9223 downcast_call_tag<passportElementErrorSourceTranslationFiles> type_tag;
9224 func(type_tag);
9225 } else {
9226 func(static_cast<passportElementErrorSourceTranslationFiles &>(*obj));
9227 }
9228 return true;
9229 case passportElementErrorSourceFile::ID:
9230 if constexpr (AllowTag) {
9231 downcast_call_tag<passportElementErrorSourceFile> type_tag;
9232 func(type_tag);
9233 } else {
9234 func(static_cast<passportElementErrorSourceFile &>(*obj));
9235 }
9236 return true;
9237 case passportElementErrorSourceFiles::ID:
9238 if constexpr (AllowTag) {
9239 downcast_call_tag<passportElementErrorSourceFiles> type_tag;
9240 func(type_tag);
9241 } else {
9242 func(static_cast<passportElementErrorSourceFiles &>(*obj));
9243 }
9244 return true;
9245 case passportElementTypePersonalDetails::ID:
9246 if constexpr (AllowTag) {
9247 downcast_call_tag<passportElementTypePersonalDetails> type_tag;
9248 func(type_tag);
9249 } else {
9250 func(static_cast<passportElementTypePersonalDetails &>(*obj));
9251 }
9252 return true;
9253 case passportElementTypePassport::ID:
9254 if constexpr (AllowTag) {
9255 downcast_call_tag<passportElementTypePassport> type_tag;
9256 func(type_tag);
9257 } else {
9258 func(static_cast<passportElementTypePassport &>(*obj));
9259 }
9260 return true;
9261 case passportElementTypeDriverLicense::ID:
9262 if constexpr (AllowTag) {
9263 downcast_call_tag<passportElementTypeDriverLicense> type_tag;
9264 func(type_tag);
9265 } else {
9266 func(static_cast<passportElementTypeDriverLicense &>(*obj));
9267 }
9268 return true;
9269 case passportElementTypeIdentityCard::ID:
9270 if constexpr (AllowTag) {
9271 downcast_call_tag<passportElementTypeIdentityCard> type_tag;
9272 func(type_tag);
9273 } else {
9274 func(static_cast<passportElementTypeIdentityCard &>(*obj));
9275 }
9276 return true;
9277 case passportElementTypeInternalPassport::ID:
9278 if constexpr (AllowTag) {
9279 downcast_call_tag<passportElementTypeInternalPassport> type_tag;
9280 func(type_tag);
9281 } else {
9282 func(static_cast<passportElementTypeInternalPassport &>(*obj));
9283 }
9284 return true;
9285 case passportElementTypeAddress::ID:
9286 if constexpr (AllowTag) {
9287 downcast_call_tag<passportElementTypeAddress> type_tag;
9288 func(type_tag);
9289 } else {
9290 func(static_cast<passportElementTypeAddress &>(*obj));
9291 }
9292 return true;
9293 case passportElementTypeUtilityBill::ID:
9294 if constexpr (AllowTag) {
9295 downcast_call_tag<passportElementTypeUtilityBill> type_tag;
9296 func(type_tag);
9297 } else {
9298 func(static_cast<passportElementTypeUtilityBill &>(*obj));
9299 }
9300 return true;
9301 case passportElementTypeBankStatement::ID:
9302 if constexpr (AllowTag) {
9303 downcast_call_tag<passportElementTypeBankStatement> type_tag;
9304 func(type_tag);
9305 } else {
9306 func(static_cast<passportElementTypeBankStatement &>(*obj));
9307 }
9308 return true;
9309 case passportElementTypeRentalAgreement::ID:
9310 if constexpr (AllowTag) {
9311 downcast_call_tag<passportElementTypeRentalAgreement> type_tag;
9312 func(type_tag);
9313 } else {
9314 func(static_cast<passportElementTypeRentalAgreement &>(*obj));
9315 }
9316 return true;
9317 case passportElementTypePassportRegistration::ID:
9318 if constexpr (AllowTag) {
9319 downcast_call_tag<passportElementTypePassportRegistration> type_tag;
9320 func(type_tag);
9321 } else {
9322 func(static_cast<passportElementTypePassportRegistration &>(*obj));
9323 }
9324 return true;
9325 case passportElementTypeTemporaryRegistration::ID:
9326 if constexpr (AllowTag) {
9327 downcast_call_tag<passportElementTypeTemporaryRegistration> type_tag;
9328 func(type_tag);
9329 } else {
9330 func(static_cast<passportElementTypeTemporaryRegistration &>(*obj));
9331 }
9332 return true;
9333 case passportElementTypePhoneNumber::ID:
9334 if constexpr (AllowTag) {
9335 downcast_call_tag<passportElementTypePhoneNumber> type_tag;
9336 func(type_tag);
9337 } else {
9338 func(static_cast<passportElementTypePhoneNumber &>(*obj));
9339 }
9340 return true;
9341 case passportElementTypeEmailAddress::ID:
9342 if constexpr (AllowTag) {
9343 downcast_call_tag<passportElementTypeEmailAddress> type_tag;
9344 func(type_tag);
9345 } else {
9346 func(static_cast<passportElementTypeEmailAddress &>(*obj));
9347 }
9348 return true;
9349 case passportElements::ID:
9350 if constexpr (AllowTag) {
9351 downcast_call_tag<passportElements> type_tag;
9352 func(type_tag);
9353 } else {
9354 func(static_cast<passportElements &>(*obj));
9355 }
9356 return true;
9357 case passportElementsWithErrors::ID:
9358 if constexpr (AllowTag) {
9359 downcast_call_tag<passportElementsWithErrors> type_tag;
9360 func(type_tag);
9361 } else {
9362 func(static_cast<passportElementsWithErrors &>(*obj));
9363 }
9364 return true;
9365 case passportRequiredElement::ID:
9366 if constexpr (AllowTag) {
9367 downcast_call_tag<passportRequiredElement> type_tag;
9368 func(type_tag);
9369 } else {
9370 func(static_cast<passportRequiredElement &>(*obj));
9371 }
9372 return true;
9373 case passportSuitableElement::ID:
9374 if constexpr (AllowTag) {
9375 downcast_call_tag<passportSuitableElement> type_tag;
9376 func(type_tag);
9377 } else {
9378 func(static_cast<passportSuitableElement &>(*obj));
9379 }
9380 return true;
9381 case passwordState::ID:
9382 if constexpr (AllowTag) {
9383 downcast_call_tag<passwordState> type_tag;
9384 func(type_tag);
9385 } else {
9386 func(static_cast<passwordState &>(*obj));
9387 }
9388 return true;
9389 case paymentForm::ID:
9390 if constexpr (AllowTag) {
9391 downcast_call_tag<paymentForm> type_tag;
9392 func(type_tag);
9393 } else {
9394 func(static_cast<paymentForm &>(*obj));
9395 }
9396 return true;
9397 case paymentFormTypeRegular::ID:
9398 if constexpr (AllowTag) {
9399 downcast_call_tag<paymentFormTypeRegular> type_tag;
9400 func(type_tag);
9401 } else {
9402 func(static_cast<paymentFormTypeRegular &>(*obj));
9403 }
9404 return true;
9405 case paymentFormTypeStars::ID:
9406 if constexpr (AllowTag) {
9407 downcast_call_tag<paymentFormTypeStars> type_tag;
9408 func(type_tag);
9409 } else {
9410 func(static_cast<paymentFormTypeStars &>(*obj));
9411 }
9412 return true;
9413 case paymentFormTypeStarSubscription::ID:
9414 if constexpr (AllowTag) {
9415 downcast_call_tag<paymentFormTypeStarSubscription> type_tag;
9416 func(type_tag);
9417 } else {
9418 func(static_cast<paymentFormTypeStarSubscription &>(*obj));
9419 }
9420 return true;
9421 case paymentOption::ID:
9422 if constexpr (AllowTag) {
9423 downcast_call_tag<paymentOption> type_tag;
9424 func(type_tag);
9425 } else {
9426 func(static_cast<paymentOption &>(*obj));
9427 }
9428 return true;
9429 case paymentProviderSmartGlocal::ID:
9430 if constexpr (AllowTag) {
9431 downcast_call_tag<paymentProviderSmartGlocal> type_tag;
9432 func(type_tag);
9433 } else {
9434 func(static_cast<paymentProviderSmartGlocal &>(*obj));
9435 }
9436 return true;
9437 case paymentProviderStripe::ID:
9438 if constexpr (AllowTag) {
9439 downcast_call_tag<paymentProviderStripe> type_tag;
9440 func(type_tag);
9441 } else {
9442 func(static_cast<paymentProviderStripe &>(*obj));
9443 }
9444 return true;
9445 case paymentProviderOther::ID:
9446 if constexpr (AllowTag) {
9447 downcast_call_tag<paymentProviderOther> type_tag;
9448 func(type_tag);
9449 } else {
9450 func(static_cast<paymentProviderOther &>(*obj));
9451 }
9452 return true;
9453 case paymentReceipt::ID:
9454 if constexpr (AllowTag) {
9455 downcast_call_tag<paymentReceipt> type_tag;
9456 func(type_tag);
9457 } else {
9458 func(static_cast<paymentReceipt &>(*obj));
9459 }
9460 return true;
9461 case paymentReceiptTypeRegular::ID:
9462 if constexpr (AllowTag) {
9463 downcast_call_tag<paymentReceiptTypeRegular> type_tag;
9464 func(type_tag);
9465 } else {
9466 func(static_cast<paymentReceiptTypeRegular &>(*obj));
9467 }
9468 return true;
9469 case paymentReceiptTypeStars::ID:
9470 if constexpr (AllowTag) {
9471 downcast_call_tag<paymentReceiptTypeStars> type_tag;
9472 func(type_tag);
9473 } else {
9474 func(static_cast<paymentReceiptTypeStars &>(*obj));
9475 }
9476 return true;
9477 case paymentResult::ID:
9478 if constexpr (AllowTag) {
9479 downcast_call_tag<paymentResult> type_tag;
9480 func(type_tag);
9481 } else {
9482 func(static_cast<paymentResult &>(*obj));
9483 }
9484 return true;
9485 case personalDetails::ID:
9486 if constexpr (AllowTag) {
9487 downcast_call_tag<personalDetails> type_tag;
9488 func(type_tag);
9489 } else {
9490 func(static_cast<personalDetails &>(*obj));
9491 }
9492 return true;
9493 case personalDocument::ID:
9494 if constexpr (AllowTag) {
9495 downcast_call_tag<personalDocument> type_tag;
9496 func(type_tag);
9497 } else {
9498 func(static_cast<personalDocument &>(*obj));
9499 }
9500 return true;
9501 case phoneNumberAuthenticationSettings::ID:
9502 if constexpr (AllowTag) {
9503 downcast_call_tag<phoneNumberAuthenticationSettings> type_tag;
9504 func(type_tag);
9505 } else {
9506 func(static_cast<phoneNumberAuthenticationSettings &>(*obj));
9507 }
9508 return true;
9509 case phoneNumberCodeTypeChange::ID:
9510 if constexpr (AllowTag) {
9511 downcast_call_tag<phoneNumberCodeTypeChange> type_tag;
9512 func(type_tag);
9513 } else {
9514 func(static_cast<phoneNumberCodeTypeChange &>(*obj));
9515 }
9516 return true;
9517 case phoneNumberCodeTypeVerify::ID:
9518 if constexpr (AllowTag) {
9519 downcast_call_tag<phoneNumberCodeTypeVerify> type_tag;
9520 func(type_tag);
9521 } else {
9522 func(static_cast<phoneNumberCodeTypeVerify &>(*obj));
9523 }
9524 return true;
9525 case phoneNumberCodeTypeConfirmOwnership::ID:
9526 if constexpr (AllowTag) {
9527 downcast_call_tag<phoneNumberCodeTypeConfirmOwnership> type_tag;
9528 func(type_tag);
9529 } else {
9530 func(static_cast<phoneNumberCodeTypeConfirmOwnership &>(*obj));
9531 }
9532 return true;
9533 case phoneNumberInfo::ID:
9534 if constexpr (AllowTag) {
9535 downcast_call_tag<phoneNumberInfo> type_tag;
9536 func(type_tag);
9537 } else {
9538 func(static_cast<phoneNumberInfo &>(*obj));
9539 }
9540 return true;
9541 case photo::ID:
9542 if constexpr (AllowTag) {
9543 downcast_call_tag<photo> type_tag;
9544 func(type_tag);
9545 } else {
9546 func(static_cast<photo &>(*obj));
9547 }
9548 return true;
9549 case photoSize::ID:
9550 if constexpr (AllowTag) {
9551 downcast_call_tag<photoSize> type_tag;
9552 func(type_tag);
9553 } else {
9554 func(static_cast<photoSize &>(*obj));
9555 }
9556 return true;
9557 case point::ID:
9558 if constexpr (AllowTag) {
9559 downcast_call_tag<point> type_tag;
9560 func(type_tag);
9561 } else {
9562 func(static_cast<point &>(*obj));
9563 }
9564 return true;
9565 case poll::ID:
9566 if constexpr (AllowTag) {
9567 downcast_call_tag<poll> type_tag;
9568 func(type_tag);
9569 } else {
9570 func(static_cast<poll &>(*obj));
9571 }
9572 return true;
9573 case pollOption::ID:
9574 if constexpr (AllowTag) {
9575 downcast_call_tag<pollOption> type_tag;
9576 func(type_tag);
9577 } else {
9578 func(static_cast<pollOption &>(*obj));
9579 }
9580 return true;
9581 case pollOptionProperties::ID:
9582 if constexpr (AllowTag) {
9583 downcast_call_tag<pollOptionProperties> type_tag;
9584 func(type_tag);
9585 } else {
9586 func(static_cast<pollOptionProperties &>(*obj));
9587 }
9588 return true;
9589 case pollTypeRegular::ID:
9590 if constexpr (AllowTag) {
9591 downcast_call_tag<pollTypeRegular> type_tag;
9592 func(type_tag);
9593 } else {
9594 func(static_cast<pollTypeRegular &>(*obj));
9595 }
9596 return true;
9597 case pollTypeQuiz::ID:
9598 if constexpr (AllowTag) {
9599 downcast_call_tag<pollTypeQuiz> type_tag;
9600 func(type_tag);
9601 } else {
9602 func(static_cast<pollTypeQuiz &>(*obj));
9603 }
9604 return true;
9605 case pollVoteRestrictionReasonMembershipRequired::ID:
9606 if constexpr (AllowTag) {
9607 downcast_call_tag<pollVoteRestrictionReasonMembershipRequired> type_tag;
9608 func(type_tag);
9609 } else {
9610 func(static_cast<pollVoteRestrictionReasonMembershipRequired &>(*obj));
9611 }
9612 return true;
9613 case pollVoteRestrictionReasonOther::ID:
9614 if constexpr (AllowTag) {
9615 downcast_call_tag<pollVoteRestrictionReasonOther> type_tag;
9616 func(type_tag);
9617 } else {
9618 func(static_cast<pollVoteRestrictionReasonOther &>(*obj));
9619 }
9620 return true;
9621 case pollVoteStatistics::ID:
9622 if constexpr (AllowTag) {
9623 downcast_call_tag<pollVoteStatistics> type_tag;
9624 func(type_tag);
9625 } else {
9626 func(static_cast<pollVoteStatistics &>(*obj));
9627 }
9628 return true;
9629 case pollVoter::ID:
9630 if constexpr (AllowTag) {
9631 downcast_call_tag<pollVoter> type_tag;
9632 func(type_tag);
9633 } else {
9634 func(static_cast<pollVoter &>(*obj));
9635 }
9636 return true;
9637 case pollVoters::ID:
9638 if constexpr (AllowTag) {
9639 downcast_call_tag<pollVoters> type_tag;
9640 func(type_tag);
9641 } else {
9642 func(static_cast<pollVoters &>(*obj));
9643 }
9644 return true;
9645 case premiumFeatureIncreasedLimits::ID:
9646 if constexpr (AllowTag) {
9647 downcast_call_tag<premiumFeatureIncreasedLimits> type_tag;
9648 func(type_tag);
9649 } else {
9650 func(static_cast<premiumFeatureIncreasedLimits &>(*obj));
9651 }
9652 return true;
9653 case premiumFeatureIncreasedUploadFileSize::ID:
9654 if constexpr (AllowTag) {
9655 downcast_call_tag<premiumFeatureIncreasedUploadFileSize> type_tag;
9656 func(type_tag);
9657 } else {
9658 func(static_cast<premiumFeatureIncreasedUploadFileSize &>(*obj));
9659 }
9660 return true;
9661 case premiumFeatureImprovedDownloadSpeed::ID:
9662 if constexpr (AllowTag) {
9663 downcast_call_tag<premiumFeatureImprovedDownloadSpeed> type_tag;
9664 func(type_tag);
9665 } else {
9666 func(static_cast<premiumFeatureImprovedDownloadSpeed &>(*obj));
9667 }
9668 return true;
9669 case premiumFeatureVoiceRecognition::ID:
9670 if constexpr (AllowTag) {
9671 downcast_call_tag<premiumFeatureVoiceRecognition> type_tag;
9672 func(type_tag);
9673 } else {
9674 func(static_cast<premiumFeatureVoiceRecognition &>(*obj));
9675 }
9676 return true;
9677 case premiumFeatureDisabledAds::ID:
9678 if constexpr (AllowTag) {
9679 downcast_call_tag<premiumFeatureDisabledAds> type_tag;
9680 func(type_tag);
9681 } else {
9682 func(static_cast<premiumFeatureDisabledAds &>(*obj));
9683 }
9684 return true;
9685 case premiumFeatureUniqueReactions::ID:
9686 if constexpr (AllowTag) {
9687 downcast_call_tag<premiumFeatureUniqueReactions> type_tag;
9688 func(type_tag);
9689 } else {
9690 func(static_cast<premiumFeatureUniqueReactions &>(*obj));
9691 }
9692 return true;
9693 case premiumFeatureUniqueStickers::ID:
9694 if constexpr (AllowTag) {
9695 downcast_call_tag<premiumFeatureUniqueStickers> type_tag;
9696 func(type_tag);
9697 } else {
9698 func(static_cast<premiumFeatureUniqueStickers &>(*obj));
9699 }
9700 return true;
9701 case premiumFeatureCustomEmoji::ID:
9702 if constexpr (AllowTag) {
9703 downcast_call_tag<premiumFeatureCustomEmoji> type_tag;
9704 func(type_tag);
9705 } else {
9706 func(static_cast<premiumFeatureCustomEmoji &>(*obj));
9707 }
9708 return true;
9709 case premiumFeatureAdvancedChatManagement::ID:
9710 if constexpr (AllowTag) {
9711 downcast_call_tag<premiumFeatureAdvancedChatManagement> type_tag;
9712 func(type_tag);
9713 } else {
9714 func(static_cast<premiumFeatureAdvancedChatManagement &>(*obj));
9715 }
9716 return true;
9717 case premiumFeatureProfileBadge::ID:
9718 if constexpr (AllowTag) {
9719 downcast_call_tag<premiumFeatureProfileBadge> type_tag;
9720 func(type_tag);
9721 } else {
9722 func(static_cast<premiumFeatureProfileBadge &>(*obj));
9723 }
9724 return true;
9725 case premiumFeatureEmojiStatus::ID:
9726 if constexpr (AllowTag) {
9727 downcast_call_tag<premiumFeatureEmojiStatus> type_tag;
9728 func(type_tag);
9729 } else {
9730 func(static_cast<premiumFeatureEmojiStatus &>(*obj));
9731 }
9732 return true;
9733 case premiumFeatureAnimatedProfilePhoto::ID:
9734 if constexpr (AllowTag) {
9735 downcast_call_tag<premiumFeatureAnimatedProfilePhoto> type_tag;
9736 func(type_tag);
9737 } else {
9738 func(static_cast<premiumFeatureAnimatedProfilePhoto &>(*obj));
9739 }
9740 return true;
9741 case premiumFeatureForumTopicIcon::ID:
9742 if constexpr (AllowTag) {
9743 downcast_call_tag<premiumFeatureForumTopicIcon> type_tag;
9744 func(type_tag);
9745 } else {
9746 func(static_cast<premiumFeatureForumTopicIcon &>(*obj));
9747 }
9748 return true;
9749 case premiumFeatureAppIcons::ID:
9750 if constexpr (AllowTag) {
9751 downcast_call_tag<premiumFeatureAppIcons> type_tag;
9752 func(type_tag);
9753 } else {
9754 func(static_cast<premiumFeatureAppIcons &>(*obj));
9755 }
9756 return true;
9757 case premiumFeatureRealTimeChatTranslation::ID:
9758 if constexpr (AllowTag) {
9759 downcast_call_tag<premiumFeatureRealTimeChatTranslation> type_tag;
9760 func(type_tag);
9761 } else {
9762 func(static_cast<premiumFeatureRealTimeChatTranslation &>(*obj));
9763 }
9764 return true;
9765 case premiumFeatureUpgradedStories::ID:
9766 if constexpr (AllowTag) {
9767 downcast_call_tag<premiumFeatureUpgradedStories> type_tag;
9768 func(type_tag);
9769 } else {
9770 func(static_cast<premiumFeatureUpgradedStories &>(*obj));
9771 }
9772 return true;
9773 case premiumFeatureChatBoost::ID:
9774 if constexpr (AllowTag) {
9775 downcast_call_tag<premiumFeatureChatBoost> type_tag;
9776 func(type_tag);
9777 } else {
9778 func(static_cast<premiumFeatureChatBoost &>(*obj));
9779 }
9780 return true;
9781 case premiumFeatureAccentColor::ID:
9782 if constexpr (AllowTag) {
9783 downcast_call_tag<premiumFeatureAccentColor> type_tag;
9784 func(type_tag);
9785 } else {
9786 func(static_cast<premiumFeatureAccentColor &>(*obj));
9787 }
9788 return true;
9789 case premiumFeatureBackgroundForBoth::ID:
9790 if constexpr (AllowTag) {
9791 downcast_call_tag<premiumFeatureBackgroundForBoth> type_tag;
9792 func(type_tag);
9793 } else {
9794 func(static_cast<premiumFeatureBackgroundForBoth &>(*obj));
9795 }
9796 return true;
9797 case premiumFeatureSavedMessagesTags::ID:
9798 if constexpr (AllowTag) {
9799 downcast_call_tag<premiumFeatureSavedMessagesTags> type_tag;
9800 func(type_tag);
9801 } else {
9802 func(static_cast<premiumFeatureSavedMessagesTags &>(*obj));
9803 }
9804 return true;
9805 case premiumFeatureMessagePrivacy::ID:
9806 if constexpr (AllowTag) {
9807 downcast_call_tag<premiumFeatureMessagePrivacy> type_tag;
9808 func(type_tag);
9809 } else {
9810 func(static_cast<premiumFeatureMessagePrivacy &>(*obj));
9811 }
9812 return true;
9813 case premiumFeatureLastSeenTimes::ID:
9814 if constexpr (AllowTag) {
9815 downcast_call_tag<premiumFeatureLastSeenTimes> type_tag;
9816 func(type_tag);
9817 } else {
9818 func(static_cast<premiumFeatureLastSeenTimes &>(*obj));
9819 }
9820 return true;
9821 case premiumFeatureBusiness::ID:
9822 if constexpr (AllowTag) {
9823 downcast_call_tag<premiumFeatureBusiness> type_tag;
9824 func(type_tag);
9825 } else {
9826 func(static_cast<premiumFeatureBusiness &>(*obj));
9827 }
9828 return true;
9829 case premiumFeatureMessageEffects::ID:
9830 if constexpr (AllowTag) {
9831 downcast_call_tag<premiumFeatureMessageEffects> type_tag;
9832 func(type_tag);
9833 } else {
9834 func(static_cast<premiumFeatureMessageEffects &>(*obj));
9835 }
9836 return true;
9837 case premiumFeatureChecklists::ID:
9838 if constexpr (AllowTag) {
9839 downcast_call_tag<premiumFeatureChecklists> type_tag;
9840 func(type_tag);
9841 } else {
9842 func(static_cast<premiumFeatureChecklists &>(*obj));
9843 }
9844 return true;
9845 case premiumFeaturePaidMessages::ID:
9846 if constexpr (AllowTag) {
9847 downcast_call_tag<premiumFeaturePaidMessages> type_tag;
9848 func(type_tag);
9849 } else {
9850 func(static_cast<premiumFeaturePaidMessages &>(*obj));
9851 }
9852 return true;
9853 case premiumFeatureProtectPrivateChatContent::ID:
9854 if constexpr (AllowTag) {
9855 downcast_call_tag<premiumFeatureProtectPrivateChatContent> type_tag;
9856 func(type_tag);
9857 } else {
9858 func(static_cast<premiumFeatureProtectPrivateChatContent &>(*obj));
9859 }
9860 return true;
9861 case premiumFeatureTextComposition::ID:
9862 if constexpr (AllowTag) {
9863 downcast_call_tag<premiumFeatureTextComposition> type_tag;
9864 func(type_tag);
9865 } else {
9866 func(static_cast<premiumFeatureTextComposition &>(*obj));
9867 }
9868 return true;
9869 case premiumFeaturePromotionAnimation::ID:
9870 if constexpr (AllowTag) {
9871 downcast_call_tag<premiumFeaturePromotionAnimation> type_tag;
9872 func(type_tag);
9873 } else {
9874 func(static_cast<premiumFeaturePromotionAnimation &>(*obj));
9875 }
9876 return true;
9877 case premiumFeatures::ID:
9878 if constexpr (AllowTag) {
9879 downcast_call_tag<premiumFeatures> type_tag;
9880 func(type_tag);
9881 } else {
9882 func(static_cast<premiumFeatures &>(*obj));
9883 }
9884 return true;
9885 case premiumGiftCodeInfo::ID:
9886 if constexpr (AllowTag) {
9887 downcast_call_tag<premiumGiftCodeInfo> type_tag;
9888 func(type_tag);
9889 } else {
9890 func(static_cast<premiumGiftCodeInfo &>(*obj));
9891 }
9892 return true;
9893 case premiumGiftPaymentOption::ID:
9894 if constexpr (AllowTag) {
9895 downcast_call_tag<premiumGiftPaymentOption> type_tag;
9896 func(type_tag);
9897 } else {
9898 func(static_cast<premiumGiftPaymentOption &>(*obj));
9899 }
9900 return true;
9901 case premiumGiftPaymentOptions::ID:
9902 if constexpr (AllowTag) {
9903 downcast_call_tag<premiumGiftPaymentOptions> type_tag;
9904 func(type_tag);
9905 } else {
9906 func(static_cast<premiumGiftPaymentOptions &>(*obj));
9907 }
9908 return true;
9909 case premiumGiveawayPaymentOption::ID:
9910 if constexpr (AllowTag) {
9911 downcast_call_tag<premiumGiveawayPaymentOption> type_tag;
9912 func(type_tag);
9913 } else {
9914 func(static_cast<premiumGiveawayPaymentOption &>(*obj));
9915 }
9916 return true;
9917 case premiumGiveawayPaymentOptions::ID:
9918 if constexpr (AllowTag) {
9919 downcast_call_tag<premiumGiveawayPaymentOptions> type_tag;
9920 func(type_tag);
9921 } else {
9922 func(static_cast<premiumGiveawayPaymentOptions &>(*obj));
9923 }
9924 return true;
9925 case premiumLimit::ID:
9926 if constexpr (AllowTag) {
9927 downcast_call_tag<premiumLimit> type_tag;
9928 func(type_tag);
9929 } else {
9930 func(static_cast<premiumLimit &>(*obj));
9931 }
9932 return true;
9933 case premiumLimitTypeSupergroupCount::ID:
9934 if constexpr (AllowTag) {
9935 downcast_call_tag<premiumLimitTypeSupergroupCount> type_tag;
9936 func(type_tag);
9937 } else {
9938 func(static_cast<premiumLimitTypeSupergroupCount &>(*obj));
9939 }
9940 return true;
9941 case premiumLimitTypePinnedChatCount::ID:
9942 if constexpr (AllowTag) {
9943 downcast_call_tag<premiumLimitTypePinnedChatCount> type_tag;
9944 func(type_tag);
9945 } else {
9946 func(static_cast<premiumLimitTypePinnedChatCount &>(*obj));
9947 }
9948 return true;
9949 case premiumLimitTypeCreatedPublicChatCount::ID:
9950 if constexpr (AllowTag) {
9951 downcast_call_tag<premiumLimitTypeCreatedPublicChatCount> type_tag;
9952 func(type_tag);
9953 } else {
9954 func(static_cast<premiumLimitTypeCreatedPublicChatCount &>(*obj));
9955 }
9956 return true;
9957 case premiumLimitTypeSavedAnimationCount::ID:
9958 if constexpr (AllowTag) {
9959 downcast_call_tag<premiumLimitTypeSavedAnimationCount> type_tag;
9960 func(type_tag);
9961 } else {
9962 func(static_cast<premiumLimitTypeSavedAnimationCount &>(*obj));
9963 }
9964 return true;
9965 case premiumLimitTypeFavoriteStickerCount::ID:
9966 if constexpr (AllowTag) {
9967 downcast_call_tag<premiumLimitTypeFavoriteStickerCount> type_tag;
9968 func(type_tag);
9969 } else {
9970 func(static_cast<premiumLimitTypeFavoriteStickerCount &>(*obj));
9971 }
9972 return true;
9973 case premiumLimitTypeChatFolderCount::ID:
9974 if constexpr (AllowTag) {
9975 downcast_call_tag<premiumLimitTypeChatFolderCount> type_tag;
9976 func(type_tag);
9977 } else {
9978 func(static_cast<premiumLimitTypeChatFolderCount &>(*obj));
9979 }
9980 return true;
9981 case premiumLimitTypeChatFolderChosenChatCount::ID:
9982 if constexpr (AllowTag) {
9983 downcast_call_tag<premiumLimitTypeChatFolderChosenChatCount> type_tag;
9984 func(type_tag);
9985 } else {
9986 func(static_cast<premiumLimitTypeChatFolderChosenChatCount &>(*obj));
9987 }
9988 return true;
9989 case premiumLimitTypePinnedArchivedChatCount::ID:
9990 if constexpr (AllowTag) {
9991 downcast_call_tag<premiumLimitTypePinnedArchivedChatCount> type_tag;
9992 func(type_tag);
9993 } else {
9994 func(static_cast<premiumLimitTypePinnedArchivedChatCount &>(*obj));
9995 }
9996 return true;
9997 case premiumLimitTypePinnedSavedMessagesTopicCount::ID:
9998 if constexpr (AllowTag) {
9999 downcast_call_tag<premiumLimitTypePinnedSavedMessagesTopicCount> type_tag;
10000 func(type_tag);
10001 } else {
10002 func(static_cast<premiumLimitTypePinnedSavedMessagesTopicCount &>(*obj));
10003 }
10004 return true;
10005 case premiumLimitTypeCaptionLength::ID:
10006 if constexpr (AllowTag) {
10007 downcast_call_tag<premiumLimitTypeCaptionLength> type_tag;
10008 func(type_tag);
10009 } else {
10010 func(static_cast<premiumLimitTypeCaptionLength &>(*obj));
10011 }
10012 return true;
10013 case premiumLimitTypeBioLength::ID:
10014 if constexpr (AllowTag) {
10015 downcast_call_tag<premiumLimitTypeBioLength> type_tag;
10016 func(type_tag);
10017 } else {
10018 func(static_cast<premiumLimitTypeBioLength &>(*obj));
10019 }
10020 return true;
10021 case premiumLimitTypeChatFolderInviteLinkCount::ID:
10022 if constexpr (AllowTag) {
10023 downcast_call_tag<premiumLimitTypeChatFolderInviteLinkCount> type_tag;
10024 func(type_tag);
10025 } else {
10026 func(static_cast<premiumLimitTypeChatFolderInviteLinkCount &>(*obj));
10027 }
10028 return true;
10029 case premiumLimitTypeShareableChatFolderCount::ID:
10030 if constexpr (AllowTag) {
10031 downcast_call_tag<premiumLimitTypeShareableChatFolderCount> type_tag;
10032 func(type_tag);
10033 } else {
10034 func(static_cast<premiumLimitTypeShareableChatFolderCount &>(*obj));
10035 }
10036 return true;
10037 case premiumLimitTypeActiveStoryCount::ID:
10038 if constexpr (AllowTag) {
10039 downcast_call_tag<premiumLimitTypeActiveStoryCount> type_tag;
10040 func(type_tag);
10041 } else {
10042 func(static_cast<premiumLimitTypeActiveStoryCount &>(*obj));
10043 }
10044 return true;
10045 case premiumLimitTypeWeeklyPostedStoryCount::ID:
10046 if constexpr (AllowTag) {
10047 downcast_call_tag<premiumLimitTypeWeeklyPostedStoryCount> type_tag;
10048 func(type_tag);
10049 } else {
10050 func(static_cast<premiumLimitTypeWeeklyPostedStoryCount &>(*obj));
10051 }
10052 return true;
10053 case premiumLimitTypeMonthlyPostedStoryCount::ID:
10054 if constexpr (AllowTag) {
10055 downcast_call_tag<premiumLimitTypeMonthlyPostedStoryCount> type_tag;
10056 func(type_tag);
10057 } else {
10058 func(static_cast<premiumLimitTypeMonthlyPostedStoryCount &>(*obj));
10059 }
10060 return true;
10061 case premiumLimitTypeStoryCaptionLength::ID:
10062 if constexpr (AllowTag) {
10063 downcast_call_tag<premiumLimitTypeStoryCaptionLength> type_tag;
10064 func(type_tag);
10065 } else {
10066 func(static_cast<premiumLimitTypeStoryCaptionLength &>(*obj));
10067 }
10068 return true;
10069 case premiumLimitTypeStorySuggestedReactionAreaCount::ID:
10070 if constexpr (AllowTag) {
10071 downcast_call_tag<premiumLimitTypeStorySuggestedReactionAreaCount> type_tag;
10072 func(type_tag);
10073 } else {
10074 func(static_cast<premiumLimitTypeStorySuggestedReactionAreaCount &>(*obj));
10075 }
10076 return true;
10077 case premiumLimitTypeSimilarChatCount::ID:
10078 if constexpr (AllowTag) {
10079 downcast_call_tag<premiumLimitTypeSimilarChatCount> type_tag;
10080 func(type_tag);
10081 } else {
10082 func(static_cast<premiumLimitTypeSimilarChatCount &>(*obj));
10083 }
10084 return true;
10085 case premiumLimitTypeOwnedBotCount::ID:
10086 if constexpr (AllowTag) {
10087 downcast_call_tag<premiumLimitTypeOwnedBotCount> type_tag;
10088 func(type_tag);
10089 } else {
10090 func(static_cast<premiumLimitTypeOwnedBotCount &>(*obj));
10091 }
10092 return true;
10093 case premiumLimitTypeCustomTextCompositionStyleCount::ID:
10094 if constexpr (AllowTag) {
10095 downcast_call_tag<premiumLimitTypeCustomTextCompositionStyleCount> type_tag;
10096 func(type_tag);
10097 } else {
10098 func(static_cast<premiumLimitTypeCustomTextCompositionStyleCount &>(*obj));
10099 }
10100 return true;
10101 case premiumPaymentOption::ID:
10102 if constexpr (AllowTag) {
10103 downcast_call_tag<premiumPaymentOption> type_tag;
10104 func(type_tag);
10105 } else {
10106 func(static_cast<premiumPaymentOption &>(*obj));
10107 }
10108 return true;
10109 case premiumSourceLimitExceeded::ID:
10110 if constexpr (AllowTag) {
10111 downcast_call_tag<premiumSourceLimitExceeded> type_tag;
10112 func(type_tag);
10113 } else {
10114 func(static_cast<premiumSourceLimitExceeded &>(*obj));
10115 }
10116 return true;
10117 case premiumSourceFeature::ID:
10118 if constexpr (AllowTag) {
10119 downcast_call_tag<premiumSourceFeature> type_tag;
10120 func(type_tag);
10121 } else {
10122 func(static_cast<premiumSourceFeature &>(*obj));
10123 }
10124 return true;
10125 case premiumSourceBusinessFeature::ID:
10126 if constexpr (AllowTag) {
10127 downcast_call_tag<premiumSourceBusinessFeature> type_tag;
10128 func(type_tag);
10129 } else {
10130 func(static_cast<premiumSourceBusinessFeature &>(*obj));
10131 }
10132 return true;
10133 case premiumSourceStoryFeature::ID:
10134 if constexpr (AllowTag) {
10135 downcast_call_tag<premiumSourceStoryFeature> type_tag;
10136 func(type_tag);
10137 } else {
10138 func(static_cast<premiumSourceStoryFeature &>(*obj));
10139 }
10140 return true;
10141 case premiumSourceLink::ID:
10142 if constexpr (AllowTag) {
10143 downcast_call_tag<premiumSourceLink> type_tag;
10144 func(type_tag);
10145 } else {
10146 func(static_cast<premiumSourceLink &>(*obj));
10147 }
10148 return true;
10149 case premiumSourceSettings::ID:
10150 if constexpr (AllowTag) {
10151 downcast_call_tag<premiumSourceSettings> type_tag;
10152 func(type_tag);
10153 } else {
10154 func(static_cast<premiumSourceSettings &>(*obj));
10155 }
10156 return true;
10157 case premiumState::ID:
10158 if constexpr (AllowTag) {
10159 downcast_call_tag<premiumState> type_tag;
10160 func(type_tag);
10161 } else {
10162 func(static_cast<premiumState &>(*obj));
10163 }
10164 return true;
10165 case premiumStatePaymentOption::ID:
10166 if constexpr (AllowTag) {
10167 downcast_call_tag<premiumStatePaymentOption> type_tag;
10168 func(type_tag);
10169 } else {
10170 func(static_cast<premiumStatePaymentOption &>(*obj));
10171 }
10172 return true;
10173 case premiumStoryFeaturePriorityOrder::ID:
10174 if constexpr (AllowTag) {
10175 downcast_call_tag<premiumStoryFeaturePriorityOrder> type_tag;
10176 func(type_tag);
10177 } else {
10178 func(static_cast<premiumStoryFeaturePriorityOrder &>(*obj));
10179 }
10180 return true;
10181 case premiumStoryFeatureStealthMode::ID:
10182 if constexpr (AllowTag) {
10183 downcast_call_tag<premiumStoryFeatureStealthMode> type_tag;
10184 func(type_tag);
10185 } else {
10186 func(static_cast<premiumStoryFeatureStealthMode &>(*obj));
10187 }
10188 return true;
10189 case premiumStoryFeaturePermanentViewsHistory::ID:
10190 if constexpr (AllowTag) {
10191 downcast_call_tag<premiumStoryFeaturePermanentViewsHistory> type_tag;
10192 func(type_tag);
10193 } else {
10194 func(static_cast<premiumStoryFeaturePermanentViewsHistory &>(*obj));
10195 }
10196 return true;
10197 case premiumStoryFeatureCustomExpirationDuration::ID:
10198 if constexpr (AllowTag) {
10199 downcast_call_tag<premiumStoryFeatureCustomExpirationDuration> type_tag;
10200 func(type_tag);
10201 } else {
10202 func(static_cast<premiumStoryFeatureCustomExpirationDuration &>(*obj));
10203 }
10204 return true;
10205 case premiumStoryFeatureSaveStories::ID:
10206 if constexpr (AllowTag) {
10207 downcast_call_tag<premiumStoryFeatureSaveStories> type_tag;
10208 func(type_tag);
10209 } else {
10210 func(static_cast<premiumStoryFeatureSaveStories &>(*obj));
10211 }
10212 return true;
10213 case premiumStoryFeatureLinksAndFormatting::ID:
10214 if constexpr (AllowTag) {
10215 downcast_call_tag<premiumStoryFeatureLinksAndFormatting> type_tag;
10216 func(type_tag);
10217 } else {
10218 func(static_cast<premiumStoryFeatureLinksAndFormatting &>(*obj));
10219 }
10220 return true;
10221 case premiumStoryFeatureVideoQuality::ID:
10222 if constexpr (AllowTag) {
10223 downcast_call_tag<premiumStoryFeatureVideoQuality> type_tag;
10224 func(type_tag);
10225 } else {
10226 func(static_cast<premiumStoryFeatureVideoQuality &>(*obj));
10227 }
10228 return true;
10229 case prepaidGiveaway::ID:
10230 if constexpr (AllowTag) {
10231 downcast_call_tag<prepaidGiveaway> type_tag;
10232 func(type_tag);
10233 } else {
10234 func(static_cast<prepaidGiveaway &>(*obj));
10235 }
10236 return true;
10237 case preparedInlineMessage::ID:
10238 if constexpr (AllowTag) {
10239 downcast_call_tag<preparedInlineMessage> type_tag;
10240 func(type_tag);
10241 } else {
10242 func(static_cast<preparedInlineMessage &>(*obj));
10243 }
10244 return true;
10245 case preparedInlineMessageId::ID:
10246 if constexpr (AllowTag) {
10247 downcast_call_tag<preparedInlineMessageId> type_tag;
10248 func(type_tag);
10249 } else {
10250 func(static_cast<preparedInlineMessageId &>(*obj));
10251 }
10252 return true;
10253 case productInfo::ID:
10254 if constexpr (AllowTag) {
10255 downcast_call_tag<productInfo> type_tag;
10256 func(type_tag);
10257 } else {
10258 func(static_cast<productInfo &>(*obj));
10259 }
10260 return true;
10261 case profileAccentColor::ID:
10262 if constexpr (AllowTag) {
10263 downcast_call_tag<profileAccentColor> type_tag;
10264 func(type_tag);
10265 } else {
10266 func(static_cast<profileAccentColor &>(*obj));
10267 }
10268 return true;
10269 case profileAccentColors::ID:
10270 if constexpr (AllowTag) {
10271 downcast_call_tag<profileAccentColors> type_tag;
10272 func(type_tag);
10273 } else {
10274 func(static_cast<profileAccentColors &>(*obj));
10275 }
10276 return true;
10277 case profilePhoto::ID:
10278 if constexpr (AllowTag) {
10279 downcast_call_tag<profilePhoto> type_tag;
10280 func(type_tag);
10281 } else {
10282 func(static_cast<profilePhoto &>(*obj));
10283 }
10284 return true;
10285 case profileTabPosts::ID:
10286 if constexpr (AllowTag) {
10287 downcast_call_tag<profileTabPosts> type_tag;
10288 func(type_tag);
10289 } else {
10290 func(static_cast<profileTabPosts &>(*obj));
10291 }
10292 return true;
10293 case profileTabGifts::ID:
10294 if constexpr (AllowTag) {
10295 downcast_call_tag<profileTabGifts> type_tag;
10296 func(type_tag);
10297 } else {
10298 func(static_cast<profileTabGifts &>(*obj));
10299 }
10300 return true;
10301 case profileTabMedia::ID:
10302 if constexpr (AllowTag) {
10303 downcast_call_tag<profileTabMedia> type_tag;
10304 func(type_tag);
10305 } else {
10306 func(static_cast<profileTabMedia &>(*obj));
10307 }
10308 return true;
10309 case profileTabFiles::ID:
10310 if constexpr (AllowTag) {
10311 downcast_call_tag<profileTabFiles> type_tag;
10312 func(type_tag);
10313 } else {
10314 func(static_cast<profileTabFiles &>(*obj));
10315 }
10316 return true;
10317 case profileTabLinks::ID:
10318 if constexpr (AllowTag) {
10319 downcast_call_tag<profileTabLinks> type_tag;
10320 func(type_tag);
10321 } else {
10322 func(static_cast<profileTabLinks &>(*obj));
10323 }
10324 return true;
10325 case profileTabMusic::ID:
10326 if constexpr (AllowTag) {
10327 downcast_call_tag<profileTabMusic> type_tag;
10328 func(type_tag);
10329 } else {
10330 func(static_cast<profileTabMusic &>(*obj));
10331 }
10332 return true;
10333 case profileTabVoice::ID:
10334 if constexpr (AllowTag) {
10335 downcast_call_tag<profileTabVoice> type_tag;
10336 func(type_tag);
10337 } else {
10338 func(static_cast<profileTabVoice &>(*obj));
10339 }
10340 return true;
10341 case profileTabGifs::ID:
10342 if constexpr (AllowTag) {
10343 downcast_call_tag<profileTabGifs> type_tag;
10344 func(type_tag);
10345 } else {
10346 func(static_cast<profileTabGifs &>(*obj));
10347 }
10348 return true;
10349 case proxy::ID:
10350 if constexpr (AllowTag) {
10351 downcast_call_tag<proxy> type_tag;
10352 func(type_tag);
10353 } else {
10354 func(static_cast<proxy &>(*obj));
10355 }
10356 return true;
10357 case proxyTypeSocks5::ID:
10358 if constexpr (AllowTag) {
10359 downcast_call_tag<proxyTypeSocks5> type_tag;
10360 func(type_tag);
10361 } else {
10362 func(static_cast<proxyTypeSocks5 &>(*obj));
10363 }
10364 return true;
10365 case proxyTypeHttp::ID:
10366 if constexpr (AllowTag) {
10367 downcast_call_tag<proxyTypeHttp> type_tag;
10368 func(type_tag);
10369 } else {
10370 func(static_cast<proxyTypeHttp &>(*obj));
10371 }
10372 return true;
10373 case proxyTypeMtproto::ID:
10374 if constexpr (AllowTag) {
10375 downcast_call_tag<proxyTypeMtproto> type_tag;
10376 func(type_tag);
10377 } else {
10378 func(static_cast<proxyTypeMtproto &>(*obj));
10379 }
10380 return true;
10381 case publicChatTypeHasUsername::ID:
10382 if constexpr (AllowTag) {
10383 downcast_call_tag<publicChatTypeHasUsername> type_tag;
10384 func(type_tag);
10385 } else {
10386 func(static_cast<publicChatTypeHasUsername &>(*obj));
10387 }
10388 return true;
10389 case publicChatTypeIsLocationBased::ID:
10390 if constexpr (AllowTag) {
10391 downcast_call_tag<publicChatTypeIsLocationBased> type_tag;
10392 func(type_tag);
10393 } else {
10394 func(static_cast<publicChatTypeIsLocationBased &>(*obj));
10395 }
10396 return true;
10397 case publicForwardMessage::ID:
10398 if constexpr (AllowTag) {
10399 downcast_call_tag<publicForwardMessage> type_tag;
10400 func(type_tag);
10401 } else {
10402 func(static_cast<publicForwardMessage &>(*obj));
10403 }
10404 return true;
10405 case publicForwardStory::ID:
10406 if constexpr (AllowTag) {
10407 downcast_call_tag<publicForwardStory> type_tag;
10408 func(type_tag);
10409 } else {
10410 func(static_cast<publicForwardStory &>(*obj));
10411 }
10412 return true;
10413 case publicForwards::ID:
10414 if constexpr (AllowTag) {
10415 downcast_call_tag<publicForwards> type_tag;
10416 func(type_tag);
10417 } else {
10418 func(static_cast<publicForwards &>(*obj));
10419 }
10420 return true;
10421 case publicPostSearchLimits::ID:
10422 if constexpr (AllowTag) {
10423 downcast_call_tag<publicPostSearchLimits> type_tag;
10424 func(type_tag);
10425 } else {
10426 func(static_cast<publicPostSearchLimits &>(*obj));
10427 }
10428 return true;
10429 case pushMessageContentHidden::ID:
10430 if constexpr (AllowTag) {
10431 downcast_call_tag<pushMessageContentHidden> type_tag;
10432 func(type_tag);
10433 } else {
10434 func(static_cast<pushMessageContentHidden &>(*obj));
10435 }
10436 return true;
10437 case pushMessageContentAnimation::ID:
10438 if constexpr (AllowTag) {
10439 downcast_call_tag<pushMessageContentAnimation> type_tag;
10440 func(type_tag);
10441 } else {
10442 func(static_cast<pushMessageContentAnimation &>(*obj));
10443 }
10444 return true;
10445 case pushMessageContentAudio::ID:
10446 if constexpr (AllowTag) {
10447 downcast_call_tag<pushMessageContentAudio> type_tag;
10448 func(type_tag);
10449 } else {
10450 func(static_cast<pushMessageContentAudio &>(*obj));
10451 }
10452 return true;
10453 case pushMessageContentContact::ID:
10454 if constexpr (AllowTag) {
10455 downcast_call_tag<pushMessageContentContact> type_tag;
10456 func(type_tag);
10457 } else {
10458 func(static_cast<pushMessageContentContact &>(*obj));
10459 }
10460 return true;
10461 case pushMessageContentContactRegistered::ID:
10462 if constexpr (AllowTag) {
10463 downcast_call_tag<pushMessageContentContactRegistered> type_tag;
10464 func(type_tag);
10465 } else {
10466 func(static_cast<pushMessageContentContactRegistered &>(*obj));
10467 }
10468 return true;
10469 case pushMessageContentDocument::ID:
10470 if constexpr (AllowTag) {
10471 downcast_call_tag<pushMessageContentDocument> type_tag;
10472 func(type_tag);
10473 } else {
10474 func(static_cast<pushMessageContentDocument &>(*obj));
10475 }
10476 return true;
10477 case pushMessageContentGame::ID:
10478 if constexpr (AllowTag) {
10479 downcast_call_tag<pushMessageContentGame> type_tag;
10480 func(type_tag);
10481 } else {
10482 func(static_cast<pushMessageContentGame &>(*obj));
10483 }
10484 return true;
10485 case pushMessageContentGameScore::ID:
10486 if constexpr (AllowTag) {
10487 downcast_call_tag<pushMessageContentGameScore> type_tag;
10488 func(type_tag);
10489 } else {
10490 func(static_cast<pushMessageContentGameScore &>(*obj));
10491 }
10492 return true;
10493 case pushMessageContentInvoice::ID:
10494 if constexpr (AllowTag) {
10495 downcast_call_tag<pushMessageContentInvoice> type_tag;
10496 func(type_tag);
10497 } else {
10498 func(static_cast<pushMessageContentInvoice &>(*obj));
10499 }
10500 return true;
10501 case pushMessageContentLocation::ID:
10502 if constexpr (AllowTag) {
10503 downcast_call_tag<pushMessageContentLocation> type_tag;
10504 func(type_tag);
10505 } else {
10506 func(static_cast<pushMessageContentLocation &>(*obj));
10507 }
10508 return true;
10509 case pushMessageContentPaidMedia::ID:
10510 if constexpr (AllowTag) {
10511 downcast_call_tag<pushMessageContentPaidMedia> type_tag;
10512 func(type_tag);
10513 } else {
10514 func(static_cast<pushMessageContentPaidMedia &>(*obj));
10515 }
10516 return true;
10517 case pushMessageContentPhoto::ID:
10518 if constexpr (AllowTag) {
10519 downcast_call_tag<pushMessageContentPhoto> type_tag;
10520 func(type_tag);
10521 } else {
10522 func(static_cast<pushMessageContentPhoto &>(*obj));
10523 }
10524 return true;
10525 case pushMessageContentPoll::ID:
10526 if constexpr (AllowTag) {
10527 downcast_call_tag<pushMessageContentPoll> type_tag;
10528 func(type_tag);
10529 } else {
10530 func(static_cast<pushMessageContentPoll &>(*obj));
10531 }
10532 return true;
10533 case pushMessageContentPremiumGiftCode::ID:
10534 if constexpr (AllowTag) {
10535 downcast_call_tag<pushMessageContentPremiumGiftCode> type_tag;
10536 func(type_tag);
10537 } else {
10538 func(static_cast<pushMessageContentPremiumGiftCode &>(*obj));
10539 }
10540 return true;
10541 case pushMessageContentGiveaway::ID:
10542 if constexpr (AllowTag) {
10543 downcast_call_tag<pushMessageContentGiveaway> type_tag;
10544 func(type_tag);
10545 } else {
10546 func(static_cast<pushMessageContentGiveaway &>(*obj));
10547 }
10548 return true;
10549 case pushMessageContentGift::ID:
10550 if constexpr (AllowTag) {
10551 downcast_call_tag<pushMessageContentGift> type_tag;
10552 func(type_tag);
10553 } else {
10554 func(static_cast<pushMessageContentGift &>(*obj));
10555 }
10556 return true;
10557 case pushMessageContentUpgradedGift::ID:
10558 if constexpr (AllowTag) {
10559 downcast_call_tag<pushMessageContentUpgradedGift> type_tag;
10560 func(type_tag);
10561 } else {
10562 func(static_cast<pushMessageContentUpgradedGift &>(*obj));
10563 }
10564 return true;
10565 case pushMessageContentScreenshotTaken::ID:
10566 if constexpr (AllowTag) {
10567 downcast_call_tag<pushMessageContentScreenshotTaken> type_tag;
10568 func(type_tag);
10569 } else {
10570 func(static_cast<pushMessageContentScreenshotTaken &>(*obj));
10571 }
10572 return true;
10573 case pushMessageContentSticker::ID:
10574 if constexpr (AllowTag) {
10575 downcast_call_tag<pushMessageContentSticker> type_tag;
10576 func(type_tag);
10577 } else {
10578 func(static_cast<pushMessageContentSticker &>(*obj));
10579 }
10580 return true;
10581 case pushMessageContentStory::ID:
10582 if constexpr (AllowTag) {
10583 downcast_call_tag<pushMessageContentStory> type_tag;
10584 func(type_tag);
10585 } else {
10586 func(static_cast<pushMessageContentStory &>(*obj));
10587 }
10588 return true;
10589 case pushMessageContentText::ID:
10590 if constexpr (AllowTag) {
10591 downcast_call_tag<pushMessageContentText> type_tag;
10592 func(type_tag);
10593 } else {
10594 func(static_cast<pushMessageContentText &>(*obj));
10595 }
10596 return true;
10597 case pushMessageContentChecklist::ID:
10598 if constexpr (AllowTag) {
10599 downcast_call_tag<pushMessageContentChecklist> type_tag;
10600 func(type_tag);
10601 } else {
10602 func(static_cast<pushMessageContentChecklist &>(*obj));
10603 }
10604 return true;
10605 case pushMessageContentVideo::ID:
10606 if constexpr (AllowTag) {
10607 downcast_call_tag<pushMessageContentVideo> type_tag;
10608 func(type_tag);
10609 } else {
10610 func(static_cast<pushMessageContentVideo &>(*obj));
10611 }
10612 return true;
10613 case pushMessageContentVideoNote::ID:
10614 if constexpr (AllowTag) {
10615 downcast_call_tag<pushMessageContentVideoNote> type_tag;
10616 func(type_tag);
10617 } else {
10618 func(static_cast<pushMessageContentVideoNote &>(*obj));
10619 }
10620 return true;
10621 case pushMessageContentVoiceNote::ID:
10622 if constexpr (AllowTag) {
10623 downcast_call_tag<pushMessageContentVoiceNote> type_tag;
10624 func(type_tag);
10625 } else {
10626 func(static_cast<pushMessageContentVoiceNote &>(*obj));
10627 }
10628 return true;
10629 case pushMessageContentBasicGroupChatCreate::ID:
10630 if constexpr (AllowTag) {
10631 downcast_call_tag<pushMessageContentBasicGroupChatCreate> type_tag;
10632 func(type_tag);
10633 } else {
10634 func(static_cast<pushMessageContentBasicGroupChatCreate &>(*obj));
10635 }
10636 return true;
10637 case pushMessageContentVideoChatStarted::ID:
10638 if constexpr (AllowTag) {
10639 downcast_call_tag<pushMessageContentVideoChatStarted> type_tag;
10640 func(type_tag);
10641 } else {
10642 func(static_cast<pushMessageContentVideoChatStarted &>(*obj));
10643 }
10644 return true;
10645 case pushMessageContentVideoChatEnded::ID:
10646 if constexpr (AllowTag) {
10647 downcast_call_tag<pushMessageContentVideoChatEnded> type_tag;
10648 func(type_tag);
10649 } else {
10650 func(static_cast<pushMessageContentVideoChatEnded &>(*obj));
10651 }
10652 return true;
10653 case pushMessageContentInviteVideoChatParticipants::ID:
10654 if constexpr (AllowTag) {
10655 downcast_call_tag<pushMessageContentInviteVideoChatParticipants> type_tag;
10656 func(type_tag);
10657 } else {
10658 func(static_cast<pushMessageContentInviteVideoChatParticipants &>(*obj));
10659 }
10660 return true;
10661 case pushMessageContentChatAddMembers::ID:
10662 if constexpr (AllowTag) {
10663 downcast_call_tag<pushMessageContentChatAddMembers> type_tag;
10664 func(type_tag);
10665 } else {
10666 func(static_cast<pushMessageContentChatAddMembers &>(*obj));
10667 }
10668 return true;
10669 case pushMessageContentChatChangePhoto::ID:
10670 if constexpr (AllowTag) {
10671 downcast_call_tag<pushMessageContentChatChangePhoto> type_tag;
10672 func(type_tag);
10673 } else {
10674 func(static_cast<pushMessageContentChatChangePhoto &>(*obj));
10675 }
10676 return true;
10677 case pushMessageContentChatChangeTitle::ID:
10678 if constexpr (AllowTag) {
10679 downcast_call_tag<pushMessageContentChatChangeTitle> type_tag;
10680 func(type_tag);
10681 } else {
10682 func(static_cast<pushMessageContentChatChangeTitle &>(*obj));
10683 }
10684 return true;
10685 case pushMessageContentChatSetBackground::ID:
10686 if constexpr (AllowTag) {
10687 downcast_call_tag<pushMessageContentChatSetBackground> type_tag;
10688 func(type_tag);
10689 } else {
10690 func(static_cast<pushMessageContentChatSetBackground &>(*obj));
10691 }
10692 return true;
10693 case pushMessageContentChatSetTheme::ID:
10694 if constexpr (AllowTag) {
10695 downcast_call_tag<pushMessageContentChatSetTheme> type_tag;
10696 func(type_tag);
10697 } else {
10698 func(static_cast<pushMessageContentChatSetTheme &>(*obj));
10699 }
10700 return true;
10701 case pushMessageContentChatDeleteMember::ID:
10702 if constexpr (AllowTag) {
10703 downcast_call_tag<pushMessageContentChatDeleteMember> type_tag;
10704 func(type_tag);
10705 } else {
10706 func(static_cast<pushMessageContentChatDeleteMember &>(*obj));
10707 }
10708 return true;
10709 case pushMessageContentChatJoinByLink::ID:
10710 if constexpr (AllowTag) {
10711 downcast_call_tag<pushMessageContentChatJoinByLink> type_tag;
10712 func(type_tag);
10713 } else {
10714 func(static_cast<pushMessageContentChatJoinByLink &>(*obj));
10715 }
10716 return true;
10717 case pushMessageContentChatJoinByRequest::ID:
10718 if constexpr (AllowTag) {
10719 downcast_call_tag<pushMessageContentChatJoinByRequest> type_tag;
10720 func(type_tag);
10721 } else {
10722 func(static_cast<pushMessageContentChatJoinByRequest &>(*obj));
10723 }
10724 return true;
10725 case pushMessageContentRecurringPayment::ID:
10726 if constexpr (AllowTag) {
10727 downcast_call_tag<pushMessageContentRecurringPayment> type_tag;
10728 func(type_tag);
10729 } else {
10730 func(static_cast<pushMessageContentRecurringPayment &>(*obj));
10731 }
10732 return true;
10733 case pushMessageContentSuggestProfilePhoto::ID:
10734 if constexpr (AllowTag) {
10735 downcast_call_tag<pushMessageContentSuggestProfilePhoto> type_tag;
10736 func(type_tag);
10737 } else {
10738 func(static_cast<pushMessageContentSuggestProfilePhoto &>(*obj));
10739 }
10740 return true;
10741 case pushMessageContentSuggestBirthdate::ID:
10742 if constexpr (AllowTag) {
10743 downcast_call_tag<pushMessageContentSuggestBirthdate> type_tag;
10744 func(type_tag);
10745 } else {
10746 func(static_cast<pushMessageContentSuggestBirthdate &>(*obj));
10747 }
10748 return true;
10749 case pushMessageContentProximityAlertTriggered::ID:
10750 if constexpr (AllowTag) {
10751 downcast_call_tag<pushMessageContentProximityAlertTriggered> type_tag;
10752 func(type_tag);
10753 } else {
10754 func(static_cast<pushMessageContentProximityAlertTriggered &>(*obj));
10755 }
10756 return true;
10757 case pushMessageContentChecklistTasksAdded::ID:
10758 if constexpr (AllowTag) {
10759 downcast_call_tag<pushMessageContentChecklistTasksAdded> type_tag;
10760 func(type_tag);
10761 } else {
10762 func(static_cast<pushMessageContentChecklistTasksAdded &>(*obj));
10763 }
10764 return true;
10765 case pushMessageContentChecklistTasksDone::ID:
10766 if constexpr (AllowTag) {
10767 downcast_call_tag<pushMessageContentChecklistTasksDone> type_tag;
10768 func(type_tag);
10769 } else {
10770 func(static_cast<pushMessageContentChecklistTasksDone &>(*obj));
10771 }
10772 return true;
10773 case pushMessageContentPollOptionAdded::ID:
10774 if constexpr (AllowTag) {
10775 downcast_call_tag<pushMessageContentPollOptionAdded> type_tag;
10776 func(type_tag);
10777 } else {
10778 func(static_cast<pushMessageContentPollOptionAdded &>(*obj));
10779 }
10780 return true;
10781 case pushMessageContentMessageForwards::ID:
10782 if constexpr (AllowTag) {
10783 downcast_call_tag<pushMessageContentMessageForwards> type_tag;
10784 func(type_tag);
10785 } else {
10786 func(static_cast<pushMessageContentMessageForwards &>(*obj));
10787 }
10788 return true;
10789 case pushMessageContentMediaAlbum::ID:
10790 if constexpr (AllowTag) {
10791 downcast_call_tag<pushMessageContentMediaAlbum> type_tag;
10792 func(type_tag);
10793 } else {
10794 func(static_cast<pushMessageContentMediaAlbum &>(*obj));
10795 }
10796 return true;
10797 case pushReceiverId::ID:
10798 if constexpr (AllowTag) {
10799 downcast_call_tag<pushReceiverId> type_tag;
10800 func(type_tag);
10801 } else {
10802 func(static_cast<pushReceiverId &>(*obj));
10803 }
10804 return true;
10805 case quickReplyMessage::ID:
10806 if constexpr (AllowTag) {
10807 downcast_call_tag<quickReplyMessage> type_tag;
10808 func(type_tag);
10809 } else {
10810 func(static_cast<quickReplyMessage &>(*obj));
10811 }
10812 return true;
10813 case quickReplyMessages::ID:
10814 if constexpr (AllowTag) {
10815 downcast_call_tag<quickReplyMessages> type_tag;
10816 func(type_tag);
10817 } else {
10818 func(static_cast<quickReplyMessages &>(*obj));
10819 }
10820 return true;
10821 case quickReplyShortcut::ID:
10822 if constexpr (AllowTag) {
10823 downcast_call_tag<quickReplyShortcut> type_tag;
10824 func(type_tag);
10825 } else {
10826 func(static_cast<quickReplyShortcut &>(*obj));
10827 }
10828 return true;
10829 case reactionNotificationSettings::ID:
10830 if constexpr (AllowTag) {
10831 downcast_call_tag<reactionNotificationSettings> type_tag;
10832 func(type_tag);
10833 } else {
10834 func(static_cast<reactionNotificationSettings &>(*obj));
10835 }
10836 return true;
10837 case reactionNotificationSourceNone::ID:
10838 if constexpr (AllowTag) {
10839 downcast_call_tag<reactionNotificationSourceNone> type_tag;
10840 func(type_tag);
10841 } else {
10842 func(static_cast<reactionNotificationSourceNone &>(*obj));
10843 }
10844 return true;
10845 case reactionNotificationSourceContacts::ID:
10846 if constexpr (AllowTag) {
10847 downcast_call_tag<reactionNotificationSourceContacts> type_tag;
10848 func(type_tag);
10849 } else {
10850 func(static_cast<reactionNotificationSourceContacts &>(*obj));
10851 }
10852 return true;
10853 case reactionNotificationSourceAll::ID:
10854 if constexpr (AllowTag) {
10855 downcast_call_tag<reactionNotificationSourceAll> type_tag;
10856 func(type_tag);
10857 } else {
10858 func(static_cast<reactionNotificationSourceAll &>(*obj));
10859 }
10860 return true;
10861 case reactionTypeEmoji::ID:
10862 if constexpr (AllowTag) {
10863 downcast_call_tag<reactionTypeEmoji> type_tag;
10864 func(type_tag);
10865 } else {
10866 func(static_cast<reactionTypeEmoji &>(*obj));
10867 }
10868 return true;
10869 case reactionTypeCustomEmoji::ID:
10870 if constexpr (AllowTag) {
10871 downcast_call_tag<reactionTypeCustomEmoji> type_tag;
10872 func(type_tag);
10873 } else {
10874 func(static_cast<reactionTypeCustomEmoji &>(*obj));
10875 }
10876 return true;
10877 case reactionTypePaid::ID:
10878 if constexpr (AllowTag) {
10879 downcast_call_tag<reactionTypePaid> type_tag;
10880 func(type_tag);
10881 } else {
10882 func(static_cast<reactionTypePaid &>(*obj));
10883 }
10884 return true;
10885 case reactionUnavailabilityReasonAnonymousAdministrator::ID:
10886 if constexpr (AllowTag) {
10887 downcast_call_tag<reactionUnavailabilityReasonAnonymousAdministrator> type_tag;
10888 func(type_tag);
10889 } else {
10890 func(static_cast<reactionUnavailabilityReasonAnonymousAdministrator &>(*obj));
10891 }
10892 return true;
10893 case reactionUnavailabilityReasonGuest::ID:
10894 if constexpr (AllowTag) {
10895 downcast_call_tag<reactionUnavailabilityReasonGuest> type_tag;
10896 func(type_tag);
10897 } else {
10898 func(static_cast<reactionUnavailabilityReasonGuest &>(*obj));
10899 }
10900 return true;
10901 case readDatePrivacySettings::ID:
10902 if constexpr (AllowTag) {
10903 downcast_call_tag<readDatePrivacySettings> type_tag;
10904 func(type_tag);
10905 } else {
10906 func(static_cast<readDatePrivacySettings &>(*obj));
10907 }
10908 return true;
10909 case receivedGift::ID:
10910 if constexpr (AllowTag) {
10911 downcast_call_tag<receivedGift> type_tag;
10912 func(type_tag);
10913 } else {
10914 func(static_cast<receivedGift &>(*obj));
10915 }
10916 return true;
10917 case receivedGifts::ID:
10918 if constexpr (AllowTag) {
10919 downcast_call_tag<receivedGifts> type_tag;
10920 func(type_tag);
10921 } else {
10922 func(static_cast<receivedGifts &>(*obj));
10923 }
10924 return true;
10925 case recommendedChatFolder::ID:
10926 if constexpr (AllowTag) {
10927 downcast_call_tag<recommendedChatFolder> type_tag;
10928 func(type_tag);
10929 } else {
10930 func(static_cast<recommendedChatFolder &>(*obj));
10931 }
10932 return true;
10933 case recommendedChatFolders::ID:
10934 if constexpr (AllowTag) {
10935 downcast_call_tag<recommendedChatFolders> type_tag;
10936 func(type_tag);
10937 } else {
10938 func(static_cast<recommendedChatFolders &>(*obj));
10939 }
10940 return true;
10941 case recoveryEmailAddress::ID:
10942 if constexpr (AllowTag) {
10943 downcast_call_tag<recoveryEmailAddress> type_tag;
10944 func(type_tag);
10945 } else {
10946 func(static_cast<recoveryEmailAddress &>(*obj));
10947 }
10948 return true;
10949 case remoteFile::ID:
10950 if constexpr (AllowTag) {
10951 downcast_call_tag<remoteFile> type_tag;
10952 func(type_tag);
10953 } else {
10954 func(static_cast<remoteFile &>(*obj));
10955 }
10956 return true;
10957 case replyMarkupRemoveKeyboard::ID:
10958 if constexpr (AllowTag) {
10959 downcast_call_tag<replyMarkupRemoveKeyboard> type_tag;
10960 func(type_tag);
10961 } else {
10962 func(static_cast<replyMarkupRemoveKeyboard &>(*obj));
10963 }
10964 return true;
10965 case replyMarkupForceReply::ID:
10966 if constexpr (AllowTag) {
10967 downcast_call_tag<replyMarkupForceReply> type_tag;
10968 func(type_tag);
10969 } else {
10970 func(static_cast<replyMarkupForceReply &>(*obj));
10971 }
10972 return true;
10973 case replyMarkupShowKeyboard::ID:
10974 if constexpr (AllowTag) {
10975 downcast_call_tag<replyMarkupShowKeyboard> type_tag;
10976 func(type_tag);
10977 } else {
10978 func(static_cast<replyMarkupShowKeyboard &>(*obj));
10979 }
10980 return true;
10981 case replyMarkupInlineKeyboard::ID:
10982 if constexpr (AllowTag) {
10983 downcast_call_tag<replyMarkupInlineKeyboard> type_tag;
10984 func(type_tag);
10985 } else {
10986 func(static_cast<replyMarkupInlineKeyboard &>(*obj));
10987 }
10988 return true;
10989 case reportChatResultOk::ID:
10990 if constexpr (AllowTag) {
10991 downcast_call_tag<reportChatResultOk> type_tag;
10992 func(type_tag);
10993 } else {
10994 func(static_cast<reportChatResultOk &>(*obj));
10995 }
10996 return true;
10997 case reportChatResultOptionRequired::ID:
10998 if constexpr (AllowTag) {
10999 downcast_call_tag<reportChatResultOptionRequired> type_tag;
11000 func(type_tag);
11001 } else {
11002 func(static_cast<reportChatResultOptionRequired &>(*obj));
11003 }
11004 return true;
11005 case reportChatResultTextRequired::ID:
11006 if constexpr (AllowTag) {
11007 downcast_call_tag<reportChatResultTextRequired> type_tag;
11008 func(type_tag);
11009 } else {
11010 func(static_cast<reportChatResultTextRequired &>(*obj));
11011 }
11012 return true;
11013 case reportChatResultMessagesRequired::ID:
11014 if constexpr (AllowTag) {
11015 downcast_call_tag<reportChatResultMessagesRequired> type_tag;
11016 func(type_tag);
11017 } else {
11018 func(static_cast<reportChatResultMessagesRequired &>(*obj));
11019 }
11020 return true;
11021 case reportOption::ID:
11022 if constexpr (AllowTag) {
11023 downcast_call_tag<reportOption> type_tag;
11024 func(type_tag);
11025 } else {
11026 func(static_cast<reportOption &>(*obj));
11027 }
11028 return true;
11029 case reportReasonSpam::ID:
11030 if constexpr (AllowTag) {
11031 downcast_call_tag<reportReasonSpam> type_tag;
11032 func(type_tag);
11033 } else {
11034 func(static_cast<reportReasonSpam &>(*obj));
11035 }
11036 return true;
11037 case reportReasonViolence::ID:
11038 if constexpr (AllowTag) {
11039 downcast_call_tag<reportReasonViolence> type_tag;
11040 func(type_tag);
11041 } else {
11042 func(static_cast<reportReasonViolence &>(*obj));
11043 }
11044 return true;
11045 case reportReasonPornography::ID:
11046 if constexpr (AllowTag) {
11047 downcast_call_tag<reportReasonPornography> type_tag;
11048 func(type_tag);
11049 } else {
11050 func(static_cast<reportReasonPornography &>(*obj));
11051 }
11052 return true;
11053 case reportReasonChildAbuse::ID:
11054 if constexpr (AllowTag) {
11055 downcast_call_tag<reportReasonChildAbuse> type_tag;
11056 func(type_tag);
11057 } else {
11058 func(static_cast<reportReasonChildAbuse &>(*obj));
11059 }
11060 return true;
11061 case reportReasonCopyright::ID:
11062 if constexpr (AllowTag) {
11063 downcast_call_tag<reportReasonCopyright> type_tag;
11064 func(type_tag);
11065 } else {
11066 func(static_cast<reportReasonCopyright &>(*obj));
11067 }
11068 return true;
11069 case reportReasonUnrelatedLocation::ID:
11070 if constexpr (AllowTag) {
11071 downcast_call_tag<reportReasonUnrelatedLocation> type_tag;
11072 func(type_tag);
11073 } else {
11074 func(static_cast<reportReasonUnrelatedLocation &>(*obj));
11075 }
11076 return true;
11077 case reportReasonFake::ID:
11078 if constexpr (AllowTag) {
11079 downcast_call_tag<reportReasonFake> type_tag;
11080 func(type_tag);
11081 } else {
11082 func(static_cast<reportReasonFake &>(*obj));
11083 }
11084 return true;
11085 case reportReasonIllegalDrugs::ID:
11086 if constexpr (AllowTag) {
11087 downcast_call_tag<reportReasonIllegalDrugs> type_tag;
11088 func(type_tag);
11089 } else {
11090 func(static_cast<reportReasonIllegalDrugs &>(*obj));
11091 }
11092 return true;
11093 case reportReasonPersonalDetails::ID:
11094 if constexpr (AllowTag) {
11095 downcast_call_tag<reportReasonPersonalDetails> type_tag;
11096 func(type_tag);
11097 } else {
11098 func(static_cast<reportReasonPersonalDetails &>(*obj));
11099 }
11100 return true;
11101 case reportReasonCustom::ID:
11102 if constexpr (AllowTag) {
11103 downcast_call_tag<reportReasonCustom> type_tag;
11104 func(type_tag);
11105 } else {
11106 func(static_cast<reportReasonCustom &>(*obj));
11107 }
11108 return true;
11109 case reportSponsoredResultOk::ID:
11110 if constexpr (AllowTag) {
11111 downcast_call_tag<reportSponsoredResultOk> type_tag;
11112 func(type_tag);
11113 } else {
11114 func(static_cast<reportSponsoredResultOk &>(*obj));
11115 }
11116 return true;
11117 case reportSponsoredResultFailed::ID:
11118 if constexpr (AllowTag) {
11119 downcast_call_tag<reportSponsoredResultFailed> type_tag;
11120 func(type_tag);
11121 } else {
11122 func(static_cast<reportSponsoredResultFailed &>(*obj));
11123 }
11124 return true;
11125 case reportSponsoredResultOptionRequired::ID:
11126 if constexpr (AllowTag) {
11127 downcast_call_tag<reportSponsoredResultOptionRequired> type_tag;
11128 func(type_tag);
11129 } else {
11130 func(static_cast<reportSponsoredResultOptionRequired &>(*obj));
11131 }
11132 return true;
11133 case reportSponsoredResultAdsHidden::ID:
11134 if constexpr (AllowTag) {
11135 downcast_call_tag<reportSponsoredResultAdsHidden> type_tag;
11136 func(type_tag);
11137 } else {
11138 func(static_cast<reportSponsoredResultAdsHidden &>(*obj));
11139 }
11140 return true;
11141 case reportSponsoredResultPremiumRequired::ID:
11142 if constexpr (AllowTag) {
11143 downcast_call_tag<reportSponsoredResultPremiumRequired> type_tag;
11144 func(type_tag);
11145 } else {
11146 func(static_cast<reportSponsoredResultPremiumRequired &>(*obj));
11147 }
11148 return true;
11149 case reportStoryResultOk::ID:
11150 if constexpr (AllowTag) {
11151 downcast_call_tag<reportStoryResultOk> type_tag;
11152 func(type_tag);
11153 } else {
11154 func(static_cast<reportStoryResultOk &>(*obj));
11155 }
11156 return true;
11157 case reportStoryResultOptionRequired::ID:
11158 if constexpr (AllowTag) {
11159 downcast_call_tag<reportStoryResultOptionRequired> type_tag;
11160 func(type_tag);
11161 } else {
11162 func(static_cast<reportStoryResultOptionRequired &>(*obj));
11163 }
11164 return true;
11165 case reportStoryResultTextRequired::ID:
11166 if constexpr (AllowTag) {
11167 downcast_call_tag<reportStoryResultTextRequired> type_tag;
11168 func(type_tag);
11169 } else {
11170 func(static_cast<reportStoryResultTextRequired &>(*obj));
11171 }
11172 return true;
11173 case resendCodeReasonUserRequest::ID:
11174 if constexpr (AllowTag) {
11175 downcast_call_tag<resendCodeReasonUserRequest> type_tag;
11176 func(type_tag);
11177 } else {
11178 func(static_cast<resendCodeReasonUserRequest &>(*obj));
11179 }
11180 return true;
11181 case resendCodeReasonVerificationFailed::ID:
11182 if constexpr (AllowTag) {
11183 downcast_call_tag<resendCodeReasonVerificationFailed> type_tag;
11184 func(type_tag);
11185 } else {
11186 func(static_cast<resendCodeReasonVerificationFailed &>(*obj));
11187 }
11188 return true;
11189 case resetPasswordResultOk::ID:
11190 if constexpr (AllowTag) {
11191 downcast_call_tag<resetPasswordResultOk> type_tag;
11192 func(type_tag);
11193 } else {
11194 func(static_cast<resetPasswordResultOk &>(*obj));
11195 }
11196 return true;
11197 case resetPasswordResultPending::ID:
11198 if constexpr (AllowTag) {
11199 downcast_call_tag<resetPasswordResultPending> type_tag;
11200 func(type_tag);
11201 } else {
11202 func(static_cast<resetPasswordResultPending &>(*obj));
11203 }
11204 return true;
11205 case resetPasswordResultDeclined::ID:
11206 if constexpr (AllowTag) {
11207 downcast_call_tag<resetPasswordResultDeclined> type_tag;
11208 func(type_tag);
11209 } else {
11210 func(static_cast<resetPasswordResultDeclined &>(*obj));
11211 }
11212 return true;
11213 case restrictionInfo::ID:
11214 if constexpr (AllowTag) {
11215 downcast_call_tag<restrictionInfo> type_tag;
11216 func(type_tag);
11217 } else {
11218 func(static_cast<restrictionInfo &>(*obj));
11219 }
11220 return true;
11221 case revenueWithdrawalStatePending::ID:
11222 if constexpr (AllowTag) {
11223 downcast_call_tag<revenueWithdrawalStatePending> type_tag;
11224 func(type_tag);
11225 } else {
11226 func(static_cast<revenueWithdrawalStatePending &>(*obj));
11227 }
11228 return true;
11229 case revenueWithdrawalStateSucceeded::ID:
11230 if constexpr (AllowTag) {
11231 downcast_call_tag<revenueWithdrawalStateSucceeded> type_tag;
11232 func(type_tag);
11233 } else {
11234 func(static_cast<revenueWithdrawalStateSucceeded &>(*obj));
11235 }
11236 return true;
11237 case revenueWithdrawalStateFailed::ID:
11238 if constexpr (AllowTag) {
11239 downcast_call_tag<revenueWithdrawalStateFailed> type_tag;
11240 func(type_tag);
11241 } else {
11242 func(static_cast<revenueWithdrawalStateFailed &>(*obj));
11243 }
11244 return true;
11245 case richTextPlain::ID:
11246 if constexpr (AllowTag) {
11247 downcast_call_tag<richTextPlain> type_tag;
11248 func(type_tag);
11249 } else {
11250 func(static_cast<richTextPlain &>(*obj));
11251 }
11252 return true;
11253 case richTextBold::ID:
11254 if constexpr (AllowTag) {
11255 downcast_call_tag<richTextBold> type_tag;
11256 func(type_tag);
11257 } else {
11258 func(static_cast<richTextBold &>(*obj));
11259 }
11260 return true;
11261 case richTextItalic::ID:
11262 if constexpr (AllowTag) {
11263 downcast_call_tag<richTextItalic> type_tag;
11264 func(type_tag);
11265 } else {
11266 func(static_cast<richTextItalic &>(*obj));
11267 }
11268 return true;
11269 case richTextUnderline::ID:
11270 if constexpr (AllowTag) {
11271 downcast_call_tag<richTextUnderline> type_tag;
11272 func(type_tag);
11273 } else {
11274 func(static_cast<richTextUnderline &>(*obj));
11275 }
11276 return true;
11277 case richTextStrikethrough::ID:
11278 if constexpr (AllowTag) {
11279 downcast_call_tag<richTextStrikethrough> type_tag;
11280 func(type_tag);
11281 } else {
11282 func(static_cast<richTextStrikethrough &>(*obj));
11283 }
11284 return true;
11285 case richTextFixed::ID:
11286 if constexpr (AllowTag) {
11287 downcast_call_tag<richTextFixed> type_tag;
11288 func(type_tag);
11289 } else {
11290 func(static_cast<richTextFixed &>(*obj));
11291 }
11292 return true;
11293 case richTextUrl::ID:
11294 if constexpr (AllowTag) {
11295 downcast_call_tag<richTextUrl> type_tag;
11296 func(type_tag);
11297 } else {
11298 func(static_cast<richTextUrl &>(*obj));
11299 }
11300 return true;
11301 case richTextEmailAddress::ID:
11302 if constexpr (AllowTag) {
11303 downcast_call_tag<richTextEmailAddress> type_tag;
11304 func(type_tag);
11305 } else {
11306 func(static_cast<richTextEmailAddress &>(*obj));
11307 }
11308 return true;
11309 case richTextSubscript::ID:
11310 if constexpr (AllowTag) {
11311 downcast_call_tag<richTextSubscript> type_tag;
11312 func(type_tag);
11313 } else {
11314 func(static_cast<richTextSubscript &>(*obj));
11315 }
11316 return true;
11317 case richTextSuperscript::ID:
11318 if constexpr (AllowTag) {
11319 downcast_call_tag<richTextSuperscript> type_tag;
11320 func(type_tag);
11321 } else {
11322 func(static_cast<richTextSuperscript &>(*obj));
11323 }
11324 return true;
11325 case richTextMarked::ID:
11326 if constexpr (AllowTag) {
11327 downcast_call_tag<richTextMarked> type_tag;
11328 func(type_tag);
11329 } else {
11330 func(static_cast<richTextMarked &>(*obj));
11331 }
11332 return true;
11333 case richTextPhoneNumber::ID:
11334 if constexpr (AllowTag) {
11335 downcast_call_tag<richTextPhoneNumber> type_tag;
11336 func(type_tag);
11337 } else {
11338 func(static_cast<richTextPhoneNumber &>(*obj));
11339 }
11340 return true;
11341 case richTextIcon::ID:
11342 if constexpr (AllowTag) {
11343 downcast_call_tag<richTextIcon> type_tag;
11344 func(type_tag);
11345 } else {
11346 func(static_cast<richTextIcon &>(*obj));
11347 }
11348 return true;
11349 case richTextReference::ID:
11350 if constexpr (AllowTag) {
11351 downcast_call_tag<richTextReference> type_tag;
11352 func(type_tag);
11353 } else {
11354 func(static_cast<richTextReference &>(*obj));
11355 }
11356 return true;
11357 case richTextAnchor::ID:
11358 if constexpr (AllowTag) {
11359 downcast_call_tag<richTextAnchor> type_tag;
11360 func(type_tag);
11361 } else {
11362 func(static_cast<richTextAnchor &>(*obj));
11363 }
11364 return true;
11365 case richTextAnchorLink::ID:
11366 if constexpr (AllowTag) {
11367 downcast_call_tag<richTextAnchorLink> type_tag;
11368 func(type_tag);
11369 } else {
11370 func(static_cast<richTextAnchorLink &>(*obj));
11371 }
11372 return true;
11373 case richTexts::ID:
11374 if constexpr (AllowTag) {
11375 downcast_call_tag<richTexts> type_tag;
11376 func(type_tag);
11377 } else {
11378 func(static_cast<richTexts &>(*obj));
11379 }
11380 return true;
11381 case rtmpUrl::ID:
11382 if constexpr (AllowTag) {
11383 downcast_call_tag<rtmpUrl> type_tag;
11384 func(type_tag);
11385 } else {
11386 func(static_cast<rtmpUrl &>(*obj));
11387 }
11388 return true;
11389 case savedCredentials::ID:
11390 if constexpr (AllowTag) {
11391 downcast_call_tag<savedCredentials> type_tag;
11392 func(type_tag);
11393 } else {
11394 func(static_cast<savedCredentials &>(*obj));
11395 }
11396 return true;
11397 case savedMessagesTag::ID:
11398 if constexpr (AllowTag) {
11399 downcast_call_tag<savedMessagesTag> type_tag;
11400 func(type_tag);
11401 } else {
11402 func(static_cast<savedMessagesTag &>(*obj));
11403 }
11404 return true;
11405 case savedMessagesTags::ID:
11406 if constexpr (AllowTag) {
11407 downcast_call_tag<savedMessagesTags> type_tag;
11408 func(type_tag);
11409 } else {
11410 func(static_cast<savedMessagesTags &>(*obj));
11411 }
11412 return true;
11413 case savedMessagesTopic::ID:
11414 if constexpr (AllowTag) {
11415 downcast_call_tag<savedMessagesTopic> type_tag;
11416 func(type_tag);
11417 } else {
11418 func(static_cast<savedMessagesTopic &>(*obj));
11419 }
11420 return true;
11421 case savedMessagesTopicTypeMyNotes::ID:
11422 if constexpr (AllowTag) {
11423 downcast_call_tag<savedMessagesTopicTypeMyNotes> type_tag;
11424 func(type_tag);
11425 } else {
11426 func(static_cast<savedMessagesTopicTypeMyNotes &>(*obj));
11427 }
11428 return true;
11429 case savedMessagesTopicTypeAuthorHidden::ID:
11430 if constexpr (AllowTag) {
11431 downcast_call_tag<savedMessagesTopicTypeAuthorHidden> type_tag;
11432 func(type_tag);
11433 } else {
11434 func(static_cast<savedMessagesTopicTypeAuthorHidden &>(*obj));
11435 }
11436 return true;
11437 case savedMessagesTopicTypeSavedFromChat::ID:
11438 if constexpr (AllowTag) {
11439 downcast_call_tag<savedMessagesTopicTypeSavedFromChat> type_tag;
11440 func(type_tag);
11441 } else {
11442 func(static_cast<savedMessagesTopicTypeSavedFromChat &>(*obj));
11443 }
11444 return true;
11445 case scopeAutosaveSettings::ID:
11446 if constexpr (AllowTag) {
11447 downcast_call_tag<scopeAutosaveSettings> type_tag;
11448 func(type_tag);
11449 } else {
11450 func(static_cast<scopeAutosaveSettings &>(*obj));
11451 }
11452 return true;
11453 case scopeNotificationSettings::ID:
11454 if constexpr (AllowTag) {
11455 downcast_call_tag<scopeNotificationSettings> type_tag;
11456 func(type_tag);
11457 } else {
11458 func(static_cast<scopeNotificationSettings &>(*obj));
11459 }
11460 return true;
11461 case searchMessagesChatTypeFilterPrivate::ID:
11462 if constexpr (AllowTag) {
11463 downcast_call_tag<searchMessagesChatTypeFilterPrivate> type_tag;
11464 func(type_tag);
11465 } else {
11466 func(static_cast<searchMessagesChatTypeFilterPrivate &>(*obj));
11467 }
11468 return true;
11469 case searchMessagesChatTypeFilterGroup::ID:
11470 if constexpr (AllowTag) {
11471 downcast_call_tag<searchMessagesChatTypeFilterGroup> type_tag;
11472 func(type_tag);
11473 } else {
11474 func(static_cast<searchMessagesChatTypeFilterGroup &>(*obj));
11475 }
11476 return true;
11477 case searchMessagesChatTypeFilterChannel::ID:
11478 if constexpr (AllowTag) {
11479 downcast_call_tag<searchMessagesChatTypeFilterChannel> type_tag;
11480 func(type_tag);
11481 } else {
11482 func(static_cast<searchMessagesChatTypeFilterChannel &>(*obj));
11483 }
11484 return true;
11485 case searchMessagesFilterEmpty::ID:
11486 if constexpr (AllowTag) {
11487 downcast_call_tag<searchMessagesFilterEmpty> type_tag;
11488 func(type_tag);
11489 } else {
11490 func(static_cast<searchMessagesFilterEmpty &>(*obj));
11491 }
11492 return true;
11493 case searchMessagesFilterAnimation::ID:
11494 if constexpr (AllowTag) {
11495 downcast_call_tag<searchMessagesFilterAnimation> type_tag;
11496 func(type_tag);
11497 } else {
11498 func(static_cast<searchMessagesFilterAnimation &>(*obj));
11499 }
11500 return true;
11501 case searchMessagesFilterAudio::ID:
11502 if constexpr (AllowTag) {
11503 downcast_call_tag<searchMessagesFilterAudio> type_tag;
11504 func(type_tag);
11505 } else {
11506 func(static_cast<searchMessagesFilterAudio &>(*obj));
11507 }
11508 return true;
11509 case searchMessagesFilterDocument::ID:
11510 if constexpr (AllowTag) {
11511 downcast_call_tag<searchMessagesFilterDocument> type_tag;
11512 func(type_tag);
11513 } else {
11514 func(static_cast<searchMessagesFilterDocument &>(*obj));
11515 }
11516 return true;
11517 case searchMessagesFilterPhoto::ID:
11518 if constexpr (AllowTag) {
11519 downcast_call_tag<searchMessagesFilterPhoto> type_tag;
11520 func(type_tag);
11521 } else {
11522 func(static_cast<searchMessagesFilterPhoto &>(*obj));
11523 }
11524 return true;
11525 case searchMessagesFilterPoll::ID:
11526 if constexpr (AllowTag) {
11527 downcast_call_tag<searchMessagesFilterPoll> type_tag;
11528 func(type_tag);
11529 } else {
11530 func(static_cast<searchMessagesFilterPoll &>(*obj));
11531 }
11532 return true;
11533 case searchMessagesFilterVideo::ID:
11534 if constexpr (AllowTag) {
11535 downcast_call_tag<searchMessagesFilterVideo> type_tag;
11536 func(type_tag);
11537 } else {
11538 func(static_cast<searchMessagesFilterVideo &>(*obj));
11539 }
11540 return true;
11541 case searchMessagesFilterVoiceNote::ID:
11542 if constexpr (AllowTag) {
11543 downcast_call_tag<searchMessagesFilterVoiceNote> type_tag;
11544 func(type_tag);
11545 } else {
11546 func(static_cast<searchMessagesFilterVoiceNote &>(*obj));
11547 }
11548 return true;
11549 case searchMessagesFilterPhotoAndVideo::ID:
11550 if constexpr (AllowTag) {
11551 downcast_call_tag<searchMessagesFilterPhotoAndVideo> type_tag;
11552 func(type_tag);
11553 } else {
11554 func(static_cast<searchMessagesFilterPhotoAndVideo &>(*obj));
11555 }
11556 return true;
11557 case searchMessagesFilterUrl::ID:
11558 if constexpr (AllowTag) {
11559 downcast_call_tag<searchMessagesFilterUrl> type_tag;
11560 func(type_tag);
11561 } else {
11562 func(static_cast<searchMessagesFilterUrl &>(*obj));
11563 }
11564 return true;
11565 case searchMessagesFilterChatPhoto::ID:
11566 if constexpr (AllowTag) {
11567 downcast_call_tag<searchMessagesFilterChatPhoto> type_tag;
11568 func(type_tag);
11569 } else {
11570 func(static_cast<searchMessagesFilterChatPhoto &>(*obj));
11571 }
11572 return true;
11573 case searchMessagesFilterVideoNote::ID:
11574 if constexpr (AllowTag) {
11575 downcast_call_tag<searchMessagesFilterVideoNote> type_tag;
11576 func(type_tag);
11577 } else {
11578 func(static_cast<searchMessagesFilterVideoNote &>(*obj));
11579 }
11580 return true;
11581 case searchMessagesFilterVoiceAndVideoNote::ID:
11582 if constexpr (AllowTag) {
11583 downcast_call_tag<searchMessagesFilterVoiceAndVideoNote> type_tag;
11584 func(type_tag);
11585 } else {
11586 func(static_cast<searchMessagesFilterVoiceAndVideoNote &>(*obj));
11587 }
11588 return true;
11589 case searchMessagesFilterMention::ID:
11590 if constexpr (AllowTag) {
11591 downcast_call_tag<searchMessagesFilterMention> type_tag;
11592 func(type_tag);
11593 } else {
11594 func(static_cast<searchMessagesFilterMention &>(*obj));
11595 }
11596 return true;
11597 case searchMessagesFilterUnreadMention::ID:
11598 if constexpr (AllowTag) {
11599 downcast_call_tag<searchMessagesFilterUnreadMention> type_tag;
11600 func(type_tag);
11601 } else {
11602 func(static_cast<searchMessagesFilterUnreadMention &>(*obj));
11603 }
11604 return true;
11605 case searchMessagesFilterUnreadReaction::ID:
11606 if constexpr (AllowTag) {
11607 downcast_call_tag<searchMessagesFilterUnreadReaction> type_tag;
11608 func(type_tag);
11609 } else {
11610 func(static_cast<searchMessagesFilterUnreadReaction &>(*obj));
11611 }
11612 return true;
11613 case searchMessagesFilterUnreadPollVote::ID:
11614 if constexpr (AllowTag) {
11615 downcast_call_tag<searchMessagesFilterUnreadPollVote> type_tag;
11616 func(type_tag);
11617 } else {
11618 func(static_cast<searchMessagesFilterUnreadPollVote &>(*obj));
11619 }
11620 return true;
11621 case searchMessagesFilterFailedToSend::ID:
11622 if constexpr (AllowTag) {
11623 downcast_call_tag<searchMessagesFilterFailedToSend> type_tag;
11624 func(type_tag);
11625 } else {
11626 func(static_cast<searchMessagesFilterFailedToSend &>(*obj));
11627 }
11628 return true;
11629 case searchMessagesFilterPinned::ID:
11630 if constexpr (AllowTag) {
11631 downcast_call_tag<searchMessagesFilterPinned> type_tag;
11632 func(type_tag);
11633 } else {
11634 func(static_cast<searchMessagesFilterPinned &>(*obj));
11635 }
11636 return true;
11637 case seconds::ID:
11638 if constexpr (AllowTag) {
11639 downcast_call_tag<seconds> type_tag;
11640 func(type_tag);
11641 } else {
11642 func(static_cast<seconds &>(*obj));
11643 }
11644 return true;
11645 case secretChat::ID:
11646 if constexpr (AllowTag) {
11647 downcast_call_tag<secretChat> type_tag;
11648 func(type_tag);
11649 } else {
11650 func(static_cast<secretChat &>(*obj));
11651 }
11652 return true;
11653 case secretChatStatePending::ID:
11654 if constexpr (AllowTag) {
11655 downcast_call_tag<secretChatStatePending> type_tag;
11656 func(type_tag);
11657 } else {
11658 func(static_cast<secretChatStatePending &>(*obj));
11659 }
11660 return true;
11661 case secretChatStateReady::ID:
11662 if constexpr (AllowTag) {
11663 downcast_call_tag<secretChatStateReady> type_tag;
11664 func(type_tag);
11665 } else {
11666 func(static_cast<secretChatStateReady &>(*obj));
11667 }
11668 return true;
11669 case secretChatStateClosed::ID:
11670 if constexpr (AllowTag) {
11671 downcast_call_tag<secretChatStateClosed> type_tag;
11672 func(type_tag);
11673 } else {
11674 func(static_cast<secretChatStateClosed &>(*obj));
11675 }
11676 return true;
11677 case sentGiftRegular::ID:
11678 if constexpr (AllowTag) {
11679 downcast_call_tag<sentGiftRegular> type_tag;
11680 func(type_tag);
11681 } else {
11682 func(static_cast<sentGiftRegular &>(*obj));
11683 }
11684 return true;
11685 case sentGiftUpgraded::ID:
11686 if constexpr (AllowTag) {
11687 downcast_call_tag<sentGiftUpgraded> type_tag;
11688 func(type_tag);
11689 } else {
11690 func(static_cast<sentGiftUpgraded &>(*obj));
11691 }
11692 return true;
11693 case sentWebAppMessage::ID:
11694 if constexpr (AllowTag) {
11695 downcast_call_tag<sentWebAppMessage> type_tag;
11696 func(type_tag);
11697 } else {
11698 func(static_cast<sentWebAppMessage &>(*obj));
11699 }
11700 return true;
11701 case session::ID:
11702 if constexpr (AllowTag) {
11703 downcast_call_tag<session> type_tag;
11704 func(type_tag);
11705 } else {
11706 func(static_cast<session &>(*obj));
11707 }
11708 return true;
11709 case sessionTypeAndroid::ID:
11710 if constexpr (AllowTag) {
11711 downcast_call_tag<sessionTypeAndroid> type_tag;
11712 func(type_tag);
11713 } else {
11714 func(static_cast<sessionTypeAndroid &>(*obj));
11715 }
11716 return true;
11717 case sessionTypeApple::ID:
11718 if constexpr (AllowTag) {
11719 downcast_call_tag<sessionTypeApple> type_tag;
11720 func(type_tag);
11721 } else {
11722 func(static_cast<sessionTypeApple &>(*obj));
11723 }
11724 return true;
11725 case sessionTypeBrave::ID:
11726 if constexpr (AllowTag) {
11727 downcast_call_tag<sessionTypeBrave> type_tag;
11728 func(type_tag);
11729 } else {
11730 func(static_cast<sessionTypeBrave &>(*obj));
11731 }
11732 return true;
11733 case sessionTypeChrome::ID:
11734 if constexpr (AllowTag) {
11735 downcast_call_tag<sessionTypeChrome> type_tag;
11736 func(type_tag);
11737 } else {
11738 func(static_cast<sessionTypeChrome &>(*obj));
11739 }
11740 return true;
11741 case sessionTypeEdge::ID:
11742 if constexpr (AllowTag) {
11743 downcast_call_tag<sessionTypeEdge> type_tag;
11744 func(type_tag);
11745 } else {
11746 func(static_cast<sessionTypeEdge &>(*obj));
11747 }
11748 return true;
11749 case sessionTypeFirefox::ID:
11750 if constexpr (AllowTag) {
11751 downcast_call_tag<sessionTypeFirefox> type_tag;
11752 func(type_tag);
11753 } else {
11754 func(static_cast<sessionTypeFirefox &>(*obj));
11755 }
11756 return true;
11757 case sessionTypeIpad::ID:
11758 if constexpr (AllowTag) {
11759 downcast_call_tag<sessionTypeIpad> type_tag;
11760 func(type_tag);
11761 } else {
11762 func(static_cast<sessionTypeIpad &>(*obj));
11763 }
11764 return true;
11765 case sessionTypeIphone::ID:
11766 if constexpr (AllowTag) {
11767 downcast_call_tag<sessionTypeIphone> type_tag;
11768 func(type_tag);
11769 } else {
11770 func(static_cast<sessionTypeIphone &>(*obj));
11771 }
11772 return true;
11773 case sessionTypeLinux::ID:
11774 if constexpr (AllowTag) {
11775 downcast_call_tag<sessionTypeLinux> type_tag;
11776 func(type_tag);
11777 } else {
11778 func(static_cast<sessionTypeLinux &>(*obj));
11779 }
11780 return true;
11781 case sessionTypeMac::ID:
11782 if constexpr (AllowTag) {
11783 downcast_call_tag<sessionTypeMac> type_tag;
11784 func(type_tag);
11785 } else {
11786 func(static_cast<sessionTypeMac &>(*obj));
11787 }
11788 return true;
11789 case sessionTypeOpera::ID:
11790 if constexpr (AllowTag) {
11791 downcast_call_tag<sessionTypeOpera> type_tag;
11792 func(type_tag);
11793 } else {
11794 func(static_cast<sessionTypeOpera &>(*obj));
11795 }
11796 return true;
11797 case sessionTypeSafari::ID:
11798 if constexpr (AllowTag) {
11799 downcast_call_tag<sessionTypeSafari> type_tag;
11800 func(type_tag);
11801 } else {
11802 func(static_cast<sessionTypeSafari &>(*obj));
11803 }
11804 return true;
11805 case sessionTypeUbuntu::ID:
11806 if constexpr (AllowTag) {
11807 downcast_call_tag<sessionTypeUbuntu> type_tag;
11808 func(type_tag);
11809 } else {
11810 func(static_cast<sessionTypeUbuntu &>(*obj));
11811 }
11812 return true;
11813 case sessionTypeUnknown::ID:
11814 if constexpr (AllowTag) {
11815 downcast_call_tag<sessionTypeUnknown> type_tag;
11816 func(type_tag);
11817 } else {
11818 func(static_cast<sessionTypeUnknown &>(*obj));
11819 }
11820 return true;
11821 case sessionTypeVivaldi::ID:
11822 if constexpr (AllowTag) {
11823 downcast_call_tag<sessionTypeVivaldi> type_tag;
11824 func(type_tag);
11825 } else {
11826 func(static_cast<sessionTypeVivaldi &>(*obj));
11827 }
11828 return true;
11829 case sessionTypeWindows::ID:
11830 if constexpr (AllowTag) {
11831 downcast_call_tag<sessionTypeWindows> type_tag;
11832 func(type_tag);
11833 } else {
11834 func(static_cast<sessionTypeWindows &>(*obj));
11835 }
11836 return true;
11837 case sessionTypeXbox::ID:
11838 if constexpr (AllowTag) {
11839 downcast_call_tag<sessionTypeXbox> type_tag;
11840 func(type_tag);
11841 } else {
11842 func(static_cast<sessionTypeXbox &>(*obj));
11843 }
11844 return true;
11845 case sessions::ID:
11846 if constexpr (AllowTag) {
11847 downcast_call_tag<sessions> type_tag;
11848 func(type_tag);
11849 } else {
11850 func(static_cast<sessions &>(*obj));
11851 }
11852 return true;
11853 case settingsSectionAppearance::ID:
11854 if constexpr (AllowTag) {
11855 downcast_call_tag<settingsSectionAppearance> type_tag;
11856 func(type_tag);
11857 } else {
11858 func(static_cast<settingsSectionAppearance &>(*obj));
11859 }
11860 return true;
11861 case settingsSectionAskQuestion::ID:
11862 if constexpr (AllowTag) {
11863 downcast_call_tag<settingsSectionAskQuestion> type_tag;
11864 func(type_tag);
11865 } else {
11866 func(static_cast<settingsSectionAskQuestion &>(*obj));
11867 }
11868 return true;
11869 case settingsSectionBusiness::ID:
11870 if constexpr (AllowTag) {
11871 downcast_call_tag<settingsSectionBusiness> type_tag;
11872 func(type_tag);
11873 } else {
11874 func(static_cast<settingsSectionBusiness &>(*obj));
11875 }
11876 return true;
11877 case settingsSectionChatFolders::ID:
11878 if constexpr (AllowTag) {
11879 downcast_call_tag<settingsSectionChatFolders> type_tag;
11880 func(type_tag);
11881 } else {
11882 func(static_cast<settingsSectionChatFolders &>(*obj));
11883 }
11884 return true;
11885 case settingsSectionDataAndStorage::ID:
11886 if constexpr (AllowTag) {
11887 downcast_call_tag<settingsSectionDataAndStorage> type_tag;
11888 func(type_tag);
11889 } else {
11890 func(static_cast<settingsSectionDataAndStorage &>(*obj));
11891 }
11892 return true;
11893 case settingsSectionDevices::ID:
11894 if constexpr (AllowTag) {
11895 downcast_call_tag<settingsSectionDevices> type_tag;
11896 func(type_tag);
11897 } else {
11898 func(static_cast<settingsSectionDevices &>(*obj));
11899 }
11900 return true;
11901 case settingsSectionEditProfile::ID:
11902 if constexpr (AllowTag) {
11903 downcast_call_tag<settingsSectionEditProfile> type_tag;
11904 func(type_tag);
11905 } else {
11906 func(static_cast<settingsSectionEditProfile &>(*obj));
11907 }
11908 return true;
11909 case settingsSectionFaq::ID:
11910 if constexpr (AllowTag) {
11911 downcast_call_tag<settingsSectionFaq> type_tag;
11912 func(type_tag);
11913 } else {
11914 func(static_cast<settingsSectionFaq &>(*obj));
11915 }
11916 return true;
11917 case settingsSectionFeatures::ID:
11918 if constexpr (AllowTag) {
11919 downcast_call_tag<settingsSectionFeatures> type_tag;
11920 func(type_tag);
11921 } else {
11922 func(static_cast<settingsSectionFeatures &>(*obj));
11923 }
11924 return true;
11925 case settingsSectionInAppBrowser::ID:
11926 if constexpr (AllowTag) {
11927 downcast_call_tag<settingsSectionInAppBrowser> type_tag;
11928 func(type_tag);
11929 } else {
11930 func(static_cast<settingsSectionInAppBrowser &>(*obj));
11931 }
11932 return true;
11933 case settingsSectionLanguage::ID:
11934 if constexpr (AllowTag) {
11935 downcast_call_tag<settingsSectionLanguage> type_tag;
11936 func(type_tag);
11937 } else {
11938 func(static_cast<settingsSectionLanguage &>(*obj));
11939 }
11940 return true;
11941 case settingsSectionMyStars::ID:
11942 if constexpr (AllowTag) {
11943 downcast_call_tag<settingsSectionMyStars> type_tag;
11944 func(type_tag);
11945 } else {
11946 func(static_cast<settingsSectionMyStars &>(*obj));
11947 }
11948 return true;
11949 case settingsSectionMyToncoins::ID:
11950 if constexpr (AllowTag) {
11951 downcast_call_tag<settingsSectionMyToncoins> type_tag;
11952 func(type_tag);
11953 } else {
11954 func(static_cast<settingsSectionMyToncoins &>(*obj));
11955 }
11956 return true;
11957 case settingsSectionNotifications::ID:
11958 if constexpr (AllowTag) {
11959 downcast_call_tag<settingsSectionNotifications> type_tag;
11960 func(type_tag);
11961 } else {
11962 func(static_cast<settingsSectionNotifications &>(*obj));
11963 }
11964 return true;
11965 case settingsSectionPowerSaving::ID:
11966 if constexpr (AllowTag) {
11967 downcast_call_tag<settingsSectionPowerSaving> type_tag;
11968 func(type_tag);
11969 } else {
11970 func(static_cast<settingsSectionPowerSaving &>(*obj));
11971 }
11972 return true;
11973 case settingsSectionPremium::ID:
11974 if constexpr (AllowTag) {
11975 downcast_call_tag<settingsSectionPremium> type_tag;
11976 func(type_tag);
11977 } else {
11978 func(static_cast<settingsSectionPremium &>(*obj));
11979 }
11980 return true;
11981 case settingsSectionPrivacyAndSecurity::ID:
11982 if constexpr (AllowTag) {
11983 downcast_call_tag<settingsSectionPrivacyAndSecurity> type_tag;
11984 func(type_tag);
11985 } else {
11986 func(static_cast<settingsSectionPrivacyAndSecurity &>(*obj));
11987 }
11988 return true;
11989 case settingsSectionPrivacyPolicy::ID:
11990 if constexpr (AllowTag) {
11991 downcast_call_tag<settingsSectionPrivacyPolicy> type_tag;
11992 func(type_tag);
11993 } else {
11994 func(static_cast<settingsSectionPrivacyPolicy &>(*obj));
11995 }
11996 return true;
11997 case settingsSectionQrCode::ID:
11998 if constexpr (AllowTag) {
11999 downcast_call_tag<settingsSectionQrCode> type_tag;
12000 func(type_tag);
12001 } else {
12002 func(static_cast<settingsSectionQrCode &>(*obj));
12003 }
12004 return true;
12005 case settingsSectionSearch::ID:
12006 if constexpr (AllowTag) {
12007 downcast_call_tag<settingsSectionSearch> type_tag;
12008 func(type_tag);
12009 } else {
12010 func(static_cast<settingsSectionSearch &>(*obj));
12011 }
12012 return true;
12013 case settingsSectionSendGift::ID:
12014 if constexpr (AllowTag) {
12015 downcast_call_tag<settingsSectionSendGift> type_tag;
12016 func(type_tag);
12017 } else {
12018 func(static_cast<settingsSectionSendGift &>(*obj));
12019 }
12020 return true;
12021 case sharedChat::ID:
12022 if constexpr (AllowTag) {
12023 downcast_call_tag<sharedChat> type_tag;
12024 func(type_tag);
12025 } else {
12026 func(static_cast<sharedChat &>(*obj));
12027 }
12028 return true;
12029 case sharedUser::ID:
12030 if constexpr (AllowTag) {
12031 downcast_call_tag<sharedUser> type_tag;
12032 func(type_tag);
12033 } else {
12034 func(static_cast<sharedUser &>(*obj));
12035 }
12036 return true;
12037 case shippingOption::ID:
12038 if constexpr (AllowTag) {
12039 downcast_call_tag<shippingOption> type_tag;
12040 func(type_tag);
12041 } else {
12042 func(static_cast<shippingOption &>(*obj));
12043 }
12044 return true;
12045 case speechRecognitionResultPending::ID:
12046 if constexpr (AllowTag) {
12047 downcast_call_tag<speechRecognitionResultPending> type_tag;
12048 func(type_tag);
12049 } else {
12050 func(static_cast<speechRecognitionResultPending &>(*obj));
12051 }
12052 return true;
12053 case speechRecognitionResultText::ID:
12054 if constexpr (AllowTag) {
12055 downcast_call_tag<speechRecognitionResultText> type_tag;
12056 func(type_tag);
12057 } else {
12058 func(static_cast<speechRecognitionResultText &>(*obj));
12059 }
12060 return true;
12061 case speechRecognitionResultError::ID:
12062 if constexpr (AllowTag) {
12063 downcast_call_tag<speechRecognitionResultError> type_tag;
12064 func(type_tag);
12065 } else {
12066 func(static_cast<speechRecognitionResultError &>(*obj));
12067 }
12068 return true;
12069 case sponsoredChat::ID:
12070 if constexpr (AllowTag) {
12071 downcast_call_tag<sponsoredChat> type_tag;
12072 func(type_tag);
12073 } else {
12074 func(static_cast<sponsoredChat &>(*obj));
12075 }
12076 return true;
12077 case sponsoredChats::ID:
12078 if constexpr (AllowTag) {
12079 downcast_call_tag<sponsoredChats> type_tag;
12080 func(type_tag);
12081 } else {
12082 func(static_cast<sponsoredChats &>(*obj));
12083 }
12084 return true;
12085 case sponsoredMessage::ID:
12086 if constexpr (AllowTag) {
12087 downcast_call_tag<sponsoredMessage> type_tag;
12088 func(type_tag);
12089 } else {
12090 func(static_cast<sponsoredMessage &>(*obj));
12091 }
12092 return true;
12093 case sponsoredMessages::ID:
12094 if constexpr (AllowTag) {
12095 downcast_call_tag<sponsoredMessages> type_tag;
12096 func(type_tag);
12097 } else {
12098 func(static_cast<sponsoredMessages &>(*obj));
12099 }
12100 return true;
12101 case stakeDiceState::ID:
12102 if constexpr (AllowTag) {
12103 downcast_call_tag<stakeDiceState> type_tag;
12104 func(type_tag);
12105 } else {
12106 func(static_cast<stakeDiceState &>(*obj));
12107 }
12108 return true;
12109 case starAmount::ID:
12110 if constexpr (AllowTag) {
12111 downcast_call_tag<starAmount> type_tag;
12112 func(type_tag);
12113 } else {
12114 func(static_cast<starAmount &>(*obj));
12115 }
12116 return true;
12117 case starCount::ID:
12118 if constexpr (AllowTag) {
12119 downcast_call_tag<starCount> type_tag;
12120 func(type_tag);
12121 } else {
12122 func(static_cast<starCount &>(*obj));
12123 }
12124 return true;
12125 case starGiveawayPaymentOption::ID:
12126 if constexpr (AllowTag) {
12127 downcast_call_tag<starGiveawayPaymentOption> type_tag;
12128 func(type_tag);
12129 } else {
12130 func(static_cast<starGiveawayPaymentOption &>(*obj));
12131 }
12132 return true;
12133 case starGiveawayPaymentOptions::ID:
12134 if constexpr (AllowTag) {
12135 downcast_call_tag<starGiveawayPaymentOptions> type_tag;
12136 func(type_tag);
12137 } else {
12138 func(static_cast<starGiveawayPaymentOptions &>(*obj));
12139 }
12140 return true;
12141 case starGiveawayWinnerOption::ID:
12142 if constexpr (AllowTag) {
12143 downcast_call_tag<starGiveawayWinnerOption> type_tag;
12144 func(type_tag);
12145 } else {
12146 func(static_cast<starGiveawayWinnerOption &>(*obj));
12147 }
12148 return true;
12149 case starPaymentOption::ID:
12150 if constexpr (AllowTag) {
12151 downcast_call_tag<starPaymentOption> type_tag;
12152 func(type_tag);
12153 } else {
12154 func(static_cast<starPaymentOption &>(*obj));
12155 }
12156 return true;
12157 case starPaymentOptions::ID:
12158 if constexpr (AllowTag) {
12159 downcast_call_tag<starPaymentOptions> type_tag;
12160 func(type_tag);
12161 } else {
12162 func(static_cast<starPaymentOptions &>(*obj));
12163 }
12164 return true;
12165 case starRevenueStatistics::ID:
12166 if constexpr (AllowTag) {
12167 downcast_call_tag<starRevenueStatistics> type_tag;
12168 func(type_tag);
12169 } else {
12170 func(static_cast<starRevenueStatistics &>(*obj));
12171 }
12172 return true;
12173 case starRevenueStatus::ID:
12174 if constexpr (AllowTag) {
12175 downcast_call_tag<starRevenueStatus> type_tag;
12176 func(type_tag);
12177 } else {
12178 func(static_cast<starRevenueStatus &>(*obj));
12179 }
12180 return true;
12181 case starSubscription::ID:
12182 if constexpr (AllowTag) {
12183 downcast_call_tag<starSubscription> type_tag;
12184 func(type_tag);
12185 } else {
12186 func(static_cast<starSubscription &>(*obj));
12187 }
12188 return true;
12189 case starSubscriptionPricing::ID:
12190 if constexpr (AllowTag) {
12191 downcast_call_tag<starSubscriptionPricing> type_tag;
12192 func(type_tag);
12193 } else {
12194 func(static_cast<starSubscriptionPricing &>(*obj));
12195 }
12196 return true;
12197 case starSubscriptionTypeChannel::ID:
12198 if constexpr (AllowTag) {
12199 downcast_call_tag<starSubscriptionTypeChannel> type_tag;
12200 func(type_tag);
12201 } else {
12202 func(static_cast<starSubscriptionTypeChannel &>(*obj));
12203 }
12204 return true;
12205 case starSubscriptionTypeBot::ID:
12206 if constexpr (AllowTag) {
12207 downcast_call_tag<starSubscriptionTypeBot> type_tag;
12208 func(type_tag);
12209 } else {
12210 func(static_cast<starSubscriptionTypeBot &>(*obj));
12211 }
12212 return true;
12213 case starSubscriptions::ID:
12214 if constexpr (AllowTag) {
12215 downcast_call_tag<starSubscriptions> type_tag;
12216 func(type_tag);
12217 } else {
12218 func(static_cast<starSubscriptions &>(*obj));
12219 }
12220 return true;
12221 case starTransaction::ID:
12222 if constexpr (AllowTag) {
12223 downcast_call_tag<starTransaction> type_tag;
12224 func(type_tag);
12225 } else {
12226 func(static_cast<starTransaction &>(*obj));
12227 }
12228 return true;
12229 case starTransactionTypePremiumBotDeposit::ID:
12230 if constexpr (AllowTag) {
12231 downcast_call_tag<starTransactionTypePremiumBotDeposit> type_tag;
12232 func(type_tag);
12233 } else {
12234 func(static_cast<starTransactionTypePremiumBotDeposit &>(*obj));
12235 }
12236 return true;
12237 case starTransactionTypeAppStoreDeposit::ID:
12238 if constexpr (AllowTag) {
12239 downcast_call_tag<starTransactionTypeAppStoreDeposit> type_tag;
12240 func(type_tag);
12241 } else {
12242 func(static_cast<starTransactionTypeAppStoreDeposit &>(*obj));
12243 }
12244 return true;
12245 case starTransactionTypeGooglePlayDeposit::ID:
12246 if constexpr (AllowTag) {
12247 downcast_call_tag<starTransactionTypeGooglePlayDeposit> type_tag;
12248 func(type_tag);
12249 } else {
12250 func(static_cast<starTransactionTypeGooglePlayDeposit &>(*obj));
12251 }
12252 return true;
12253 case starTransactionTypeFragmentDeposit::ID:
12254 if constexpr (AllowTag) {
12255 downcast_call_tag<starTransactionTypeFragmentDeposit> type_tag;
12256 func(type_tag);
12257 } else {
12258 func(static_cast<starTransactionTypeFragmentDeposit &>(*obj));
12259 }
12260 return true;
12261 case starTransactionTypeUserDeposit::ID:
12262 if constexpr (AllowTag) {
12263 downcast_call_tag<starTransactionTypeUserDeposit> type_tag;
12264 func(type_tag);
12265 } else {
12266 func(static_cast<starTransactionTypeUserDeposit &>(*obj));
12267 }
12268 return true;
12269 case starTransactionTypeGiveawayDeposit::ID:
12270 if constexpr (AllowTag) {
12271 downcast_call_tag<starTransactionTypeGiveawayDeposit> type_tag;
12272 func(type_tag);
12273 } else {
12274 func(static_cast<starTransactionTypeGiveawayDeposit &>(*obj));
12275 }
12276 return true;
12277 case starTransactionTypeFragmentWithdrawal::ID:
12278 if constexpr (AllowTag) {
12279 downcast_call_tag<starTransactionTypeFragmentWithdrawal> type_tag;
12280 func(type_tag);
12281 } else {
12282 func(static_cast<starTransactionTypeFragmentWithdrawal &>(*obj));
12283 }
12284 return true;
12285 case starTransactionTypeTelegramAdsWithdrawal::ID:
12286 if constexpr (AllowTag) {
12287 downcast_call_tag<starTransactionTypeTelegramAdsWithdrawal> type_tag;
12288 func(type_tag);
12289 } else {
12290 func(static_cast<starTransactionTypeTelegramAdsWithdrawal &>(*obj));
12291 }
12292 return true;
12293 case starTransactionTypeTelegramApiUsage::ID:
12294 if constexpr (AllowTag) {
12295 downcast_call_tag<starTransactionTypeTelegramApiUsage> type_tag;
12296 func(type_tag);
12297 } else {
12298 func(static_cast<starTransactionTypeTelegramApiUsage &>(*obj));
12299 }
12300 return true;
12301 case starTransactionTypeBotPaidMediaPurchase::ID:
12302 if constexpr (AllowTag) {
12303 downcast_call_tag<starTransactionTypeBotPaidMediaPurchase> type_tag;
12304 func(type_tag);
12305 } else {
12306 func(static_cast<starTransactionTypeBotPaidMediaPurchase &>(*obj));
12307 }
12308 return true;
12309 case starTransactionTypeBotPaidMediaSale::ID:
12310 if constexpr (AllowTag) {
12311 downcast_call_tag<starTransactionTypeBotPaidMediaSale> type_tag;
12312 func(type_tag);
12313 } else {
12314 func(static_cast<starTransactionTypeBotPaidMediaSale &>(*obj));
12315 }
12316 return true;
12317 case starTransactionTypeChannelPaidMediaPurchase::ID:
12318 if constexpr (AllowTag) {
12319 downcast_call_tag<starTransactionTypeChannelPaidMediaPurchase> type_tag;
12320 func(type_tag);
12321 } else {
12322 func(static_cast<starTransactionTypeChannelPaidMediaPurchase &>(*obj));
12323 }
12324 return true;
12325 case starTransactionTypeChannelPaidMediaSale::ID:
12326 if constexpr (AllowTag) {
12327 downcast_call_tag<starTransactionTypeChannelPaidMediaSale> type_tag;
12328 func(type_tag);
12329 } else {
12330 func(static_cast<starTransactionTypeChannelPaidMediaSale &>(*obj));
12331 }
12332 return true;
12333 case starTransactionTypeBotInvoicePurchase::ID:
12334 if constexpr (AllowTag) {
12335 downcast_call_tag<starTransactionTypeBotInvoicePurchase> type_tag;
12336 func(type_tag);
12337 } else {
12338 func(static_cast<starTransactionTypeBotInvoicePurchase &>(*obj));
12339 }
12340 return true;
12341 case starTransactionTypeBotInvoiceSale::ID:
12342 if constexpr (AllowTag) {
12343 downcast_call_tag<starTransactionTypeBotInvoiceSale> type_tag;
12344 func(type_tag);
12345 } else {
12346 func(static_cast<starTransactionTypeBotInvoiceSale &>(*obj));
12347 }
12348 return true;
12349 case starTransactionTypeBotSubscriptionPurchase::ID:
12350 if constexpr (AllowTag) {
12351 downcast_call_tag<starTransactionTypeBotSubscriptionPurchase> type_tag;
12352 func(type_tag);
12353 } else {
12354 func(static_cast<starTransactionTypeBotSubscriptionPurchase &>(*obj));
12355 }
12356 return true;
12357 case starTransactionTypeBotSubscriptionSale::ID:
12358 if constexpr (AllowTag) {
12359 downcast_call_tag<starTransactionTypeBotSubscriptionSale> type_tag;
12360 func(type_tag);
12361 } else {
12362 func(static_cast<starTransactionTypeBotSubscriptionSale &>(*obj));
12363 }
12364 return true;
12365 case starTransactionTypeChannelSubscriptionPurchase::ID:
12366 if constexpr (AllowTag) {
12367 downcast_call_tag<starTransactionTypeChannelSubscriptionPurchase> type_tag;
12368 func(type_tag);
12369 } else {
12370 func(static_cast<starTransactionTypeChannelSubscriptionPurchase &>(*obj));
12371 }
12372 return true;
12373 case starTransactionTypeChannelSubscriptionSale::ID:
12374 if constexpr (AllowTag) {
12375 downcast_call_tag<starTransactionTypeChannelSubscriptionSale> type_tag;
12376 func(type_tag);
12377 } else {
12378 func(static_cast<starTransactionTypeChannelSubscriptionSale &>(*obj));
12379 }
12380 return true;
12381 case starTransactionTypeGiftAuctionBid::ID:
12382 if constexpr (AllowTag) {
12383 downcast_call_tag<starTransactionTypeGiftAuctionBid> type_tag;
12384 func(type_tag);
12385 } else {
12386 func(static_cast<starTransactionTypeGiftAuctionBid &>(*obj));
12387 }
12388 return true;
12389 case starTransactionTypeGiftPurchase::ID:
12390 if constexpr (AllowTag) {
12391 downcast_call_tag<starTransactionTypeGiftPurchase> type_tag;
12392 func(type_tag);
12393 } else {
12394 func(static_cast<starTransactionTypeGiftPurchase &>(*obj));
12395 }
12396 return true;
12397 case starTransactionTypeGiftPurchaseOffer::ID:
12398 if constexpr (AllowTag) {
12399 downcast_call_tag<starTransactionTypeGiftPurchaseOffer> type_tag;
12400 func(type_tag);
12401 } else {
12402 func(static_cast<starTransactionTypeGiftPurchaseOffer &>(*obj));
12403 }
12404 return true;
12405 case starTransactionTypeGiftTransfer::ID:
12406 if constexpr (AllowTag) {
12407 downcast_call_tag<starTransactionTypeGiftTransfer> type_tag;
12408 func(type_tag);
12409 } else {
12410 func(static_cast<starTransactionTypeGiftTransfer &>(*obj));
12411 }
12412 return true;
12413 case starTransactionTypeGiftOriginalDetailsDrop::ID:
12414 if constexpr (AllowTag) {
12415 downcast_call_tag<starTransactionTypeGiftOriginalDetailsDrop> type_tag;
12416 func(type_tag);
12417 } else {
12418 func(static_cast<starTransactionTypeGiftOriginalDetailsDrop &>(*obj));
12419 }
12420 return true;
12421 case starTransactionTypeGiftSale::ID:
12422 if constexpr (AllowTag) {
12423 downcast_call_tag<starTransactionTypeGiftSale> type_tag;
12424 func(type_tag);
12425 } else {
12426 func(static_cast<starTransactionTypeGiftSale &>(*obj));
12427 }
12428 return true;
12429 case starTransactionTypeGiftUpgrade::ID:
12430 if constexpr (AllowTag) {
12431 downcast_call_tag<starTransactionTypeGiftUpgrade> type_tag;
12432 func(type_tag);
12433 } else {
12434 func(static_cast<starTransactionTypeGiftUpgrade &>(*obj));
12435 }
12436 return true;
12437 case starTransactionTypeGiftUpgradePurchase::ID:
12438 if constexpr (AllowTag) {
12439 downcast_call_tag<starTransactionTypeGiftUpgradePurchase> type_tag;
12440 func(type_tag);
12441 } else {
12442 func(static_cast<starTransactionTypeGiftUpgradePurchase &>(*obj));
12443 }
12444 return true;
12445 case starTransactionTypeUpgradedGiftPurchase::ID:
12446 if constexpr (AllowTag) {
12447 downcast_call_tag<starTransactionTypeUpgradedGiftPurchase> type_tag;
12448 func(type_tag);
12449 } else {
12450 func(static_cast<starTransactionTypeUpgradedGiftPurchase &>(*obj));
12451 }
12452 return true;
12453 case starTransactionTypeUpgradedGiftSale::ID:
12454 if constexpr (AllowTag) {
12455 downcast_call_tag<starTransactionTypeUpgradedGiftSale> type_tag;
12456 func(type_tag);
12457 } else {
12458 func(static_cast<starTransactionTypeUpgradedGiftSale &>(*obj));
12459 }
12460 return true;
12461 case starTransactionTypeChannelPaidReactionSend::ID:
12462 if constexpr (AllowTag) {
12463 downcast_call_tag<starTransactionTypeChannelPaidReactionSend> type_tag;
12464 func(type_tag);
12465 } else {
12466 func(static_cast<starTransactionTypeChannelPaidReactionSend &>(*obj));
12467 }
12468 return true;
12469 case starTransactionTypeChannelPaidReactionReceive::ID:
12470 if constexpr (AllowTag) {
12471 downcast_call_tag<starTransactionTypeChannelPaidReactionReceive> type_tag;
12472 func(type_tag);
12473 } else {
12474 func(static_cast<starTransactionTypeChannelPaidReactionReceive &>(*obj));
12475 }
12476 return true;
12477 case starTransactionTypeAffiliateProgramCommission::ID:
12478 if constexpr (AllowTag) {
12479 downcast_call_tag<starTransactionTypeAffiliateProgramCommission> type_tag;
12480 func(type_tag);
12481 } else {
12482 func(static_cast<starTransactionTypeAffiliateProgramCommission &>(*obj));
12483 }
12484 return true;
12485 case starTransactionTypePaidMessageSend::ID:
12486 if constexpr (AllowTag) {
12487 downcast_call_tag<starTransactionTypePaidMessageSend> type_tag;
12488 func(type_tag);
12489 } else {
12490 func(static_cast<starTransactionTypePaidMessageSend &>(*obj));
12491 }
12492 return true;
12493 case starTransactionTypePaidMessageReceive::ID:
12494 if constexpr (AllowTag) {
12495 downcast_call_tag<starTransactionTypePaidMessageReceive> type_tag;
12496 func(type_tag);
12497 } else {
12498 func(static_cast<starTransactionTypePaidMessageReceive &>(*obj));
12499 }
12500 return true;
12501 case starTransactionTypePaidGroupCallMessageSend::ID:
12502 if constexpr (AllowTag) {
12503 downcast_call_tag<starTransactionTypePaidGroupCallMessageSend> type_tag;
12504 func(type_tag);
12505 } else {
12506 func(static_cast<starTransactionTypePaidGroupCallMessageSend &>(*obj));
12507 }
12508 return true;
12509 case starTransactionTypePaidGroupCallMessageReceive::ID:
12510 if constexpr (AllowTag) {
12511 downcast_call_tag<starTransactionTypePaidGroupCallMessageReceive> type_tag;
12512 func(type_tag);
12513 } else {
12514 func(static_cast<starTransactionTypePaidGroupCallMessageReceive &>(*obj));
12515 }
12516 return true;
12517 case starTransactionTypePaidGroupCallReactionSend::ID:
12518 if constexpr (AllowTag) {
12519 downcast_call_tag<starTransactionTypePaidGroupCallReactionSend> type_tag;
12520 func(type_tag);
12521 } else {
12522 func(static_cast<starTransactionTypePaidGroupCallReactionSend &>(*obj));
12523 }
12524 return true;
12525 case starTransactionTypePaidGroupCallReactionReceive::ID:
12526 if constexpr (AllowTag) {
12527 downcast_call_tag<starTransactionTypePaidGroupCallReactionReceive> type_tag;
12528 func(type_tag);
12529 } else {
12530 func(static_cast<starTransactionTypePaidGroupCallReactionReceive &>(*obj));
12531 }
12532 return true;
12533 case starTransactionTypeSuggestedPostPaymentSend::ID:
12534 if constexpr (AllowTag) {
12535 downcast_call_tag<starTransactionTypeSuggestedPostPaymentSend> type_tag;
12536 func(type_tag);
12537 } else {
12538 func(static_cast<starTransactionTypeSuggestedPostPaymentSend &>(*obj));
12539 }
12540 return true;
12541 case starTransactionTypeSuggestedPostPaymentReceive::ID:
12542 if constexpr (AllowTag) {
12543 downcast_call_tag<starTransactionTypeSuggestedPostPaymentReceive> type_tag;
12544 func(type_tag);
12545 } else {
12546 func(static_cast<starTransactionTypeSuggestedPostPaymentReceive &>(*obj));
12547 }
12548 return true;
12549 case starTransactionTypePremiumPurchase::ID:
12550 if constexpr (AllowTag) {
12551 downcast_call_tag<starTransactionTypePremiumPurchase> type_tag;
12552 func(type_tag);
12553 } else {
12554 func(static_cast<starTransactionTypePremiumPurchase &>(*obj));
12555 }
12556 return true;
12557 case starTransactionTypeBusinessBotTransferSend::ID:
12558 if constexpr (AllowTag) {
12559 downcast_call_tag<starTransactionTypeBusinessBotTransferSend> type_tag;
12560 func(type_tag);
12561 } else {
12562 func(static_cast<starTransactionTypeBusinessBotTransferSend &>(*obj));
12563 }
12564 return true;
12565 case starTransactionTypeBusinessBotTransferReceive::ID:
12566 if constexpr (AllowTag) {
12567 downcast_call_tag<starTransactionTypeBusinessBotTransferReceive> type_tag;
12568 func(type_tag);
12569 } else {
12570 func(static_cast<starTransactionTypeBusinessBotTransferReceive &>(*obj));
12571 }
12572 return true;
12573 case starTransactionTypePublicPostSearch::ID:
12574 if constexpr (AllowTag) {
12575 downcast_call_tag<starTransactionTypePublicPostSearch> type_tag;
12576 func(type_tag);
12577 } else {
12578 func(static_cast<starTransactionTypePublicPostSearch &>(*obj));
12579 }
12580 return true;
12581 case starTransactionTypeUnsupported::ID:
12582 if constexpr (AllowTag) {
12583 downcast_call_tag<starTransactionTypeUnsupported> type_tag;
12584 func(type_tag);
12585 } else {
12586 func(static_cast<starTransactionTypeUnsupported &>(*obj));
12587 }
12588 return true;
12589 case starTransactions::ID:
12590 if constexpr (AllowTag) {
12591 downcast_call_tag<starTransactions> type_tag;
12592 func(type_tag);
12593 } else {
12594 func(static_cast<starTransactions &>(*obj));
12595 }
12596 return true;
12597 case startLiveStoryResultOk::ID:
12598 if constexpr (AllowTag) {
12599 downcast_call_tag<startLiveStoryResultOk> type_tag;
12600 func(type_tag);
12601 } else {
12602 func(static_cast<startLiveStoryResultOk &>(*obj));
12603 }
12604 return true;
12605 case startLiveStoryResultFail::ID:
12606 if constexpr (AllowTag) {
12607 downcast_call_tag<startLiveStoryResultFail> type_tag;
12608 func(type_tag);
12609 } else {
12610 func(static_cast<startLiveStoryResultFail &>(*obj));
12611 }
12612 return true;
12613 case statisticalGraphData::ID:
12614 if constexpr (AllowTag) {
12615 downcast_call_tag<statisticalGraphData> type_tag;
12616 func(type_tag);
12617 } else {
12618 func(static_cast<statisticalGraphData &>(*obj));
12619 }
12620 return true;
12621 case statisticalGraphAsync::ID:
12622 if constexpr (AllowTag) {
12623 downcast_call_tag<statisticalGraphAsync> type_tag;
12624 func(type_tag);
12625 } else {
12626 func(static_cast<statisticalGraphAsync &>(*obj));
12627 }
12628 return true;
12629 case statisticalGraphError::ID:
12630 if constexpr (AllowTag) {
12631 downcast_call_tag<statisticalGraphError> type_tag;
12632 func(type_tag);
12633 } else {
12634 func(static_cast<statisticalGraphError &>(*obj));
12635 }
12636 return true;
12637 case statisticalValue::ID:
12638 if constexpr (AllowTag) {
12639 downcast_call_tag<statisticalValue> type_tag;
12640 func(type_tag);
12641 } else {
12642 func(static_cast<statisticalValue &>(*obj));
12643 }
12644 return true;
12645 case sticker::ID:
12646 if constexpr (AllowTag) {
12647 downcast_call_tag<sticker> type_tag;
12648 func(type_tag);
12649 } else {
12650 func(static_cast<sticker &>(*obj));
12651 }
12652 return true;
12653 case stickerFormatWebp::ID:
12654 if constexpr (AllowTag) {
12655 downcast_call_tag<stickerFormatWebp> type_tag;
12656 func(type_tag);
12657 } else {
12658 func(static_cast<stickerFormatWebp &>(*obj));
12659 }
12660 return true;
12661 case stickerFormatTgs::ID:
12662 if constexpr (AllowTag) {
12663 downcast_call_tag<stickerFormatTgs> type_tag;
12664 func(type_tag);
12665 } else {
12666 func(static_cast<stickerFormatTgs &>(*obj));
12667 }
12668 return true;
12669 case stickerFormatWebm::ID:
12670 if constexpr (AllowTag) {
12671 downcast_call_tag<stickerFormatWebm> type_tag;
12672 func(type_tag);
12673 } else {
12674 func(static_cast<stickerFormatWebm &>(*obj));
12675 }
12676 return true;
12677 case stickerFullTypeRegular::ID:
12678 if constexpr (AllowTag) {
12679 downcast_call_tag<stickerFullTypeRegular> type_tag;
12680 func(type_tag);
12681 } else {
12682 func(static_cast<stickerFullTypeRegular &>(*obj));
12683 }
12684 return true;
12685 case stickerFullTypeMask::ID:
12686 if constexpr (AllowTag) {
12687 downcast_call_tag<stickerFullTypeMask> type_tag;
12688 func(type_tag);
12689 } else {
12690 func(static_cast<stickerFullTypeMask &>(*obj));
12691 }
12692 return true;
12693 case stickerFullTypeCustomEmoji::ID:
12694 if constexpr (AllowTag) {
12695 downcast_call_tag<stickerFullTypeCustomEmoji> type_tag;
12696 func(type_tag);
12697 } else {
12698 func(static_cast<stickerFullTypeCustomEmoji &>(*obj));
12699 }
12700 return true;
12701 case stickerSet::ID:
12702 if constexpr (AllowTag) {
12703 downcast_call_tag<stickerSet> type_tag;
12704 func(type_tag);
12705 } else {
12706 func(static_cast<stickerSet &>(*obj));
12707 }
12708 return true;
12709 case stickerSetInfo::ID:
12710 if constexpr (AllowTag) {
12711 downcast_call_tag<stickerSetInfo> type_tag;
12712 func(type_tag);
12713 } else {
12714 func(static_cast<stickerSetInfo &>(*obj));
12715 }
12716 return true;
12717 case stickerSets::ID:
12718 if constexpr (AllowTag) {
12719 downcast_call_tag<stickerSets> type_tag;
12720 func(type_tag);
12721 } else {
12722 func(static_cast<stickerSets &>(*obj));
12723 }
12724 return true;
12725 case stickerTypeRegular::ID:
12726 if constexpr (AllowTag) {
12727 downcast_call_tag<stickerTypeRegular> type_tag;
12728 func(type_tag);
12729 } else {
12730 func(static_cast<stickerTypeRegular &>(*obj));
12731 }
12732 return true;
12733 case stickerTypeMask::ID:
12734 if constexpr (AllowTag) {
12735 downcast_call_tag<stickerTypeMask> type_tag;
12736 func(type_tag);
12737 } else {
12738 func(static_cast<stickerTypeMask &>(*obj));
12739 }
12740 return true;
12741 case stickerTypeCustomEmoji::ID:
12742 if constexpr (AllowTag) {
12743 downcast_call_tag<stickerTypeCustomEmoji> type_tag;
12744 func(type_tag);
12745 } else {
12746 func(static_cast<stickerTypeCustomEmoji &>(*obj));
12747 }
12748 return true;
12749 case stickers::ID:
12750 if constexpr (AllowTag) {
12751 downcast_call_tag<stickers> type_tag;
12752 func(type_tag);
12753 } else {
12754 func(static_cast<stickers &>(*obj));
12755 }
12756 return true;
12757 case storageStatistics::ID:
12758 if constexpr (AllowTag) {
12759 downcast_call_tag<storageStatistics> type_tag;
12760 func(type_tag);
12761 } else {
12762 func(static_cast<storageStatistics &>(*obj));
12763 }
12764 return true;
12765 case storageStatisticsByChat::ID:
12766 if constexpr (AllowTag) {
12767 downcast_call_tag<storageStatisticsByChat> type_tag;
12768 func(type_tag);
12769 } else {
12770 func(static_cast<storageStatisticsByChat &>(*obj));
12771 }
12772 return true;
12773 case storageStatisticsByFileType::ID:
12774 if constexpr (AllowTag) {
12775 downcast_call_tag<storageStatisticsByFileType> type_tag;
12776 func(type_tag);
12777 } else {
12778 func(static_cast<storageStatisticsByFileType &>(*obj));
12779 }
12780 return true;
12781 case storageStatisticsFast::ID:
12782 if constexpr (AllowTag) {
12783 downcast_call_tag<storageStatisticsFast> type_tag;
12784 func(type_tag);
12785 } else {
12786 func(static_cast<storageStatisticsFast &>(*obj));
12787 }
12788 return true;
12789 case storePaymentPurposePremiumSubscription::ID:
12790 if constexpr (AllowTag) {
12791 downcast_call_tag<storePaymentPurposePremiumSubscription> type_tag;
12792 func(type_tag);
12793 } else {
12794 func(static_cast<storePaymentPurposePremiumSubscription &>(*obj));
12795 }
12796 return true;
12797 case storePaymentPurposePremiumGift::ID:
12798 if constexpr (AllowTag) {
12799 downcast_call_tag<storePaymentPurposePremiumGift> type_tag;
12800 func(type_tag);
12801 } else {
12802 func(static_cast<storePaymentPurposePremiumGift &>(*obj));
12803 }
12804 return true;
12805 case storePaymentPurposePremiumGiftCodes::ID:
12806 if constexpr (AllowTag) {
12807 downcast_call_tag<storePaymentPurposePremiumGiftCodes> type_tag;
12808 func(type_tag);
12809 } else {
12810 func(static_cast<storePaymentPurposePremiumGiftCodes &>(*obj));
12811 }
12812 return true;
12813 case storePaymentPurposePremiumGiveaway::ID:
12814 if constexpr (AllowTag) {
12815 downcast_call_tag<storePaymentPurposePremiumGiveaway> type_tag;
12816 func(type_tag);
12817 } else {
12818 func(static_cast<storePaymentPurposePremiumGiveaway &>(*obj));
12819 }
12820 return true;
12821 case storePaymentPurposeStarGiveaway::ID:
12822 if constexpr (AllowTag) {
12823 downcast_call_tag<storePaymentPurposeStarGiveaway> type_tag;
12824 func(type_tag);
12825 } else {
12826 func(static_cast<storePaymentPurposeStarGiveaway &>(*obj));
12827 }
12828 return true;
12829 case storePaymentPurposeStars::ID:
12830 if constexpr (AllowTag) {
12831 downcast_call_tag<storePaymentPurposeStars> type_tag;
12832 func(type_tag);
12833 } else {
12834 func(static_cast<storePaymentPurposeStars &>(*obj));
12835 }
12836 return true;
12837 case storePaymentPurposeGiftedStars::ID:
12838 if constexpr (AllowTag) {
12839 downcast_call_tag<storePaymentPurposeGiftedStars> type_tag;
12840 func(type_tag);
12841 } else {
12842 func(static_cast<storePaymentPurposeGiftedStars &>(*obj));
12843 }
12844 return true;
12845 case storeTransactionAppStore::ID:
12846 if constexpr (AllowTag) {
12847 downcast_call_tag<storeTransactionAppStore> type_tag;
12848 func(type_tag);
12849 } else {
12850 func(static_cast<storeTransactionAppStore &>(*obj));
12851 }
12852 return true;
12853 case storeTransactionGooglePlay::ID:
12854 if constexpr (AllowTag) {
12855 downcast_call_tag<storeTransactionGooglePlay> type_tag;
12856 func(type_tag);
12857 } else {
12858 func(static_cast<storeTransactionGooglePlay &>(*obj));
12859 }
12860 return true;
12861 case stories::ID:
12862 if constexpr (AllowTag) {
12863 downcast_call_tag<stories> type_tag;
12864 func(type_tag);
12865 } else {
12866 func(static_cast<stories &>(*obj));
12867 }
12868 return true;
12869 case story::ID:
12870 if constexpr (AllowTag) {
12871 downcast_call_tag<story> type_tag;
12872 func(type_tag);
12873 } else {
12874 func(static_cast<story &>(*obj));
12875 }
12876 return true;
12877 case storyAlbum::ID:
12878 if constexpr (AllowTag) {
12879 downcast_call_tag<storyAlbum> type_tag;
12880 func(type_tag);
12881 } else {
12882 func(static_cast<storyAlbum &>(*obj));
12883 }
12884 return true;
12885 case storyAlbums::ID:
12886 if constexpr (AllowTag) {
12887 downcast_call_tag<storyAlbums> type_tag;
12888 func(type_tag);
12889 } else {
12890 func(static_cast<storyAlbums &>(*obj));
12891 }
12892 return true;
12893 case storyArea::ID:
12894 if constexpr (AllowTag) {
12895 downcast_call_tag<storyArea> type_tag;
12896 func(type_tag);
12897 } else {
12898 func(static_cast<storyArea &>(*obj));
12899 }
12900 return true;
12901 case storyAreaPosition::ID:
12902 if constexpr (AllowTag) {
12903 downcast_call_tag<storyAreaPosition> type_tag;
12904 func(type_tag);
12905 } else {
12906 func(static_cast<storyAreaPosition &>(*obj));
12907 }
12908 return true;
12909 case storyAreaTypeLocation::ID:
12910 if constexpr (AllowTag) {
12911 downcast_call_tag<storyAreaTypeLocation> type_tag;
12912 func(type_tag);
12913 } else {
12914 func(static_cast<storyAreaTypeLocation &>(*obj));
12915 }
12916 return true;
12917 case storyAreaTypeVenue::ID:
12918 if constexpr (AllowTag) {
12919 downcast_call_tag<storyAreaTypeVenue> type_tag;
12920 func(type_tag);
12921 } else {
12922 func(static_cast<storyAreaTypeVenue &>(*obj));
12923 }
12924 return true;
12925 case storyAreaTypeSuggestedReaction::ID:
12926 if constexpr (AllowTag) {
12927 downcast_call_tag<storyAreaTypeSuggestedReaction> type_tag;
12928 func(type_tag);
12929 } else {
12930 func(static_cast<storyAreaTypeSuggestedReaction &>(*obj));
12931 }
12932 return true;
12933 case storyAreaTypeMessage::ID:
12934 if constexpr (AllowTag) {
12935 downcast_call_tag<storyAreaTypeMessage> type_tag;
12936 func(type_tag);
12937 } else {
12938 func(static_cast<storyAreaTypeMessage &>(*obj));
12939 }
12940 return true;
12941 case storyAreaTypeLink::ID:
12942 if constexpr (AllowTag) {
12943 downcast_call_tag<storyAreaTypeLink> type_tag;
12944 func(type_tag);
12945 } else {
12946 func(static_cast<storyAreaTypeLink &>(*obj));
12947 }
12948 return true;
12949 case storyAreaTypeWeather::ID:
12950 if constexpr (AllowTag) {
12951 downcast_call_tag<storyAreaTypeWeather> type_tag;
12952 func(type_tag);
12953 } else {
12954 func(static_cast<storyAreaTypeWeather &>(*obj));
12955 }
12956 return true;
12957 case storyAreaTypeUpgradedGift::ID:
12958 if constexpr (AllowTag) {
12959 downcast_call_tag<storyAreaTypeUpgradedGift> type_tag;
12960 func(type_tag);
12961 } else {
12962 func(static_cast<storyAreaTypeUpgradedGift &>(*obj));
12963 }
12964 return true;
12965 case storyContentPhoto::ID:
12966 if constexpr (AllowTag) {
12967 downcast_call_tag<storyContentPhoto> type_tag;
12968 func(type_tag);
12969 } else {
12970 func(static_cast<storyContentPhoto &>(*obj));
12971 }
12972 return true;
12973 case storyContentVideo::ID:
12974 if constexpr (AllowTag) {
12975 downcast_call_tag<storyContentVideo> type_tag;
12976 func(type_tag);
12977 } else {
12978 func(static_cast<storyContentVideo &>(*obj));
12979 }
12980 return true;
12981 case storyContentLive::ID:
12982 if constexpr (AllowTag) {
12983 downcast_call_tag<storyContentLive> type_tag;
12984 func(type_tag);
12985 } else {
12986 func(static_cast<storyContentLive &>(*obj));
12987 }
12988 return true;
12989 case storyContentUnsupported::ID:
12990 if constexpr (AllowTag) {
12991 downcast_call_tag<storyContentUnsupported> type_tag;
12992 func(type_tag);
12993 } else {
12994 func(static_cast<storyContentUnsupported &>(*obj));
12995 }
12996 return true;
12997 case storyContentTypePhoto::ID:
12998 if constexpr (AllowTag) {
12999 downcast_call_tag<storyContentTypePhoto> type_tag;
13000 func(type_tag);
13001 } else {
13002 func(static_cast<storyContentTypePhoto &>(*obj));
13003 }
13004 return true;
13005 case storyContentTypeVideo::ID:
13006 if constexpr (AllowTag) {
13007 downcast_call_tag<storyContentTypeVideo> type_tag;
13008 func(type_tag);
13009 } else {
13010 func(static_cast<storyContentTypeVideo &>(*obj));
13011 }
13012 return true;
13013 case storyContentTypeLive::ID:
13014 if constexpr (AllowTag) {
13015 downcast_call_tag<storyContentTypeLive> type_tag;
13016 func(type_tag);
13017 } else {
13018 func(static_cast<storyContentTypeLive &>(*obj));
13019 }
13020 return true;
13021 case storyContentTypeUnsupported::ID:
13022 if constexpr (AllowTag) {
13023 downcast_call_tag<storyContentTypeUnsupported> type_tag;
13024 func(type_tag);
13025 } else {
13026 func(static_cast<storyContentTypeUnsupported &>(*obj));
13027 }
13028 return true;
13029 case storyFullId::ID:
13030 if constexpr (AllowTag) {
13031 downcast_call_tag<storyFullId> type_tag;
13032 func(type_tag);
13033 } else {
13034 func(static_cast<storyFullId &>(*obj));
13035 }
13036 return true;
13037 case storyInfo::ID:
13038 if constexpr (AllowTag) {
13039 downcast_call_tag<storyInfo> type_tag;
13040 func(type_tag);
13041 } else {
13042 func(static_cast<storyInfo &>(*obj));
13043 }
13044 return true;
13045 case storyInteraction::ID:
13046 if constexpr (AllowTag) {
13047 downcast_call_tag<storyInteraction> type_tag;
13048 func(type_tag);
13049 } else {
13050 func(static_cast<storyInteraction &>(*obj));
13051 }
13052 return true;
13053 case storyInteractionInfo::ID:
13054 if constexpr (AllowTag) {
13055 downcast_call_tag<storyInteractionInfo> type_tag;
13056 func(type_tag);
13057 } else {
13058 func(static_cast<storyInteractionInfo &>(*obj));
13059 }
13060 return true;
13061 case storyInteractionTypeView::ID:
13062 if constexpr (AllowTag) {
13063 downcast_call_tag<storyInteractionTypeView> type_tag;
13064 func(type_tag);
13065 } else {
13066 func(static_cast<storyInteractionTypeView &>(*obj));
13067 }
13068 return true;
13069 case storyInteractionTypeForward::ID:
13070 if constexpr (AllowTag) {
13071 downcast_call_tag<storyInteractionTypeForward> type_tag;
13072 func(type_tag);
13073 } else {
13074 func(static_cast<storyInteractionTypeForward &>(*obj));
13075 }
13076 return true;
13077 case storyInteractionTypeRepost::ID:
13078 if constexpr (AllowTag) {
13079 downcast_call_tag<storyInteractionTypeRepost> type_tag;
13080 func(type_tag);
13081 } else {
13082 func(static_cast<storyInteractionTypeRepost &>(*obj));
13083 }
13084 return true;
13085 case storyInteractions::ID:
13086 if constexpr (AllowTag) {
13087 downcast_call_tag<storyInteractions> type_tag;
13088 func(type_tag);
13089 } else {
13090 func(static_cast<storyInteractions &>(*obj));
13091 }
13092 return true;
13093 case storyListMain::ID:
13094 if constexpr (AllowTag) {
13095 downcast_call_tag<storyListMain> type_tag;
13096 func(type_tag);
13097 } else {
13098 func(static_cast<storyListMain &>(*obj));
13099 }
13100 return true;
13101 case storyListArchive::ID:
13102 if constexpr (AllowTag) {
13103 downcast_call_tag<storyListArchive> type_tag;
13104 func(type_tag);
13105 } else {
13106 func(static_cast<storyListArchive &>(*obj));
13107 }
13108 return true;
13109 case storyOriginPublicStory::ID:
13110 if constexpr (AllowTag) {
13111 downcast_call_tag<storyOriginPublicStory> type_tag;
13112 func(type_tag);
13113 } else {
13114 func(static_cast<storyOriginPublicStory &>(*obj));
13115 }
13116 return true;
13117 case storyOriginHiddenUser::ID:
13118 if constexpr (AllowTag) {
13119 downcast_call_tag<storyOriginHiddenUser> type_tag;
13120 func(type_tag);
13121 } else {
13122 func(static_cast<storyOriginHiddenUser &>(*obj));
13123 }
13124 return true;
13125 case storyPrivacySettingsEveryone::ID:
13126 if constexpr (AllowTag) {
13127 downcast_call_tag<storyPrivacySettingsEveryone> type_tag;
13128 func(type_tag);
13129 } else {
13130 func(static_cast<storyPrivacySettingsEveryone &>(*obj));
13131 }
13132 return true;
13133 case storyPrivacySettingsContacts::ID:
13134 if constexpr (AllowTag) {
13135 downcast_call_tag<storyPrivacySettingsContacts> type_tag;
13136 func(type_tag);
13137 } else {
13138 func(static_cast<storyPrivacySettingsContacts &>(*obj));
13139 }
13140 return true;
13141 case storyPrivacySettingsCloseFriends::ID:
13142 if constexpr (AllowTag) {
13143 downcast_call_tag<storyPrivacySettingsCloseFriends> type_tag;
13144 func(type_tag);
13145 } else {
13146 func(static_cast<storyPrivacySettingsCloseFriends &>(*obj));
13147 }
13148 return true;
13149 case storyPrivacySettingsSelectedUsers::ID:
13150 if constexpr (AllowTag) {
13151 downcast_call_tag<storyPrivacySettingsSelectedUsers> type_tag;
13152 func(type_tag);
13153 } else {
13154 func(static_cast<storyPrivacySettingsSelectedUsers &>(*obj));
13155 }
13156 return true;
13157 case storyRepostInfo::ID:
13158 if constexpr (AllowTag) {
13159 downcast_call_tag<storyRepostInfo> type_tag;
13160 func(type_tag);
13161 } else {
13162 func(static_cast<storyRepostInfo &>(*obj));
13163 }
13164 return true;
13165 case storyStatistics::ID:
13166 if constexpr (AllowTag) {
13167 downcast_call_tag<storyStatistics> type_tag;
13168 func(type_tag);
13169 } else {
13170 func(static_cast<storyStatistics &>(*obj));
13171 }
13172 return true;
13173 case storyVideo::ID:
13174 if constexpr (AllowTag) {
13175 downcast_call_tag<storyVideo> type_tag;
13176 func(type_tag);
13177 } else {
13178 func(static_cast<storyVideo &>(*obj));
13179 }
13180 return true;
13181 case suggestedActionEnableArchiveAndMuteNewChats::ID:
13182 if constexpr (AllowTag) {
13183 downcast_call_tag<suggestedActionEnableArchiveAndMuteNewChats> type_tag;
13184 func(type_tag);
13185 } else {
13186 func(static_cast<suggestedActionEnableArchiveAndMuteNewChats &>(*obj));
13187 }
13188 return true;
13189 case suggestedActionCheckPassword::ID:
13190 if constexpr (AllowTag) {
13191 downcast_call_tag<suggestedActionCheckPassword> type_tag;
13192 func(type_tag);
13193 } else {
13194 func(static_cast<suggestedActionCheckPassword &>(*obj));
13195 }
13196 return true;
13197 case suggestedActionCheckPhoneNumber::ID:
13198 if constexpr (AllowTag) {
13199 downcast_call_tag<suggestedActionCheckPhoneNumber> type_tag;
13200 func(type_tag);
13201 } else {
13202 func(static_cast<suggestedActionCheckPhoneNumber &>(*obj));
13203 }
13204 return true;
13205 case suggestedActionViewChecksHint::ID:
13206 if constexpr (AllowTag) {
13207 downcast_call_tag<suggestedActionViewChecksHint> type_tag;
13208 func(type_tag);
13209 } else {
13210 func(static_cast<suggestedActionViewChecksHint &>(*obj));
13211 }
13212 return true;
13213 case suggestedActionConvertToBroadcastGroup::ID:
13214 if constexpr (AllowTag) {
13215 downcast_call_tag<suggestedActionConvertToBroadcastGroup> type_tag;
13216 func(type_tag);
13217 } else {
13218 func(static_cast<suggestedActionConvertToBroadcastGroup &>(*obj));
13219 }
13220 return true;
13221 case suggestedActionSetPassword::ID:
13222 if constexpr (AllowTag) {
13223 downcast_call_tag<suggestedActionSetPassword> type_tag;
13224 func(type_tag);
13225 } else {
13226 func(static_cast<suggestedActionSetPassword &>(*obj));
13227 }
13228 return true;
13229 case suggestedActionUpgradePremium::ID:
13230 if constexpr (AllowTag) {
13231 downcast_call_tag<suggestedActionUpgradePremium> type_tag;
13232 func(type_tag);
13233 } else {
13234 func(static_cast<suggestedActionUpgradePremium &>(*obj));
13235 }
13236 return true;
13237 case suggestedActionRestorePremium::ID:
13238 if constexpr (AllowTag) {
13239 downcast_call_tag<suggestedActionRestorePremium> type_tag;
13240 func(type_tag);
13241 } else {
13242 func(static_cast<suggestedActionRestorePremium &>(*obj));
13243 }
13244 return true;
13245 case suggestedActionSubscribeToAnnualPremium::ID:
13246 if constexpr (AllowTag) {
13247 downcast_call_tag<suggestedActionSubscribeToAnnualPremium> type_tag;
13248 func(type_tag);
13249 } else {
13250 func(static_cast<suggestedActionSubscribeToAnnualPremium &>(*obj));
13251 }
13252 return true;
13253 case suggestedActionGiftPremiumForChristmas::ID:
13254 if constexpr (AllowTag) {
13255 downcast_call_tag<suggestedActionGiftPremiumForChristmas> type_tag;
13256 func(type_tag);
13257 } else {
13258 func(static_cast<suggestedActionGiftPremiumForChristmas &>(*obj));
13259 }
13260 return true;
13261 case suggestedActionSetBirthdate::ID:
13262 if constexpr (AllowTag) {
13263 downcast_call_tag<suggestedActionSetBirthdate> type_tag;
13264 func(type_tag);
13265 } else {
13266 func(static_cast<suggestedActionSetBirthdate &>(*obj));
13267 }
13268 return true;
13269 case suggestedActionSetProfilePhoto::ID:
13270 if constexpr (AllowTag) {
13271 downcast_call_tag<suggestedActionSetProfilePhoto> type_tag;
13272 func(type_tag);
13273 } else {
13274 func(static_cast<suggestedActionSetProfilePhoto &>(*obj));
13275 }
13276 return true;
13277 case suggestedActionExtendPremium::ID:
13278 if constexpr (AllowTag) {
13279 downcast_call_tag<suggestedActionExtendPremium> type_tag;
13280 func(type_tag);
13281 } else {
13282 func(static_cast<suggestedActionExtendPremium &>(*obj));
13283 }
13284 return true;
13285 case suggestedActionExtendStarSubscriptions::ID:
13286 if constexpr (AllowTag) {
13287 downcast_call_tag<suggestedActionExtendStarSubscriptions> type_tag;
13288 func(type_tag);
13289 } else {
13290 func(static_cast<suggestedActionExtendStarSubscriptions &>(*obj));
13291 }
13292 return true;
13293 case suggestedActionCustom::ID:
13294 if constexpr (AllowTag) {
13295 downcast_call_tag<suggestedActionCustom> type_tag;
13296 func(type_tag);
13297 } else {
13298 func(static_cast<suggestedActionCustom &>(*obj));
13299 }
13300 return true;
13301 case suggestedActionSetLoginEmailAddress::ID:
13302 if constexpr (AllowTag) {
13303 downcast_call_tag<suggestedActionSetLoginEmailAddress> type_tag;
13304 func(type_tag);
13305 } else {
13306 func(static_cast<suggestedActionSetLoginEmailAddress &>(*obj));
13307 }
13308 return true;
13309 case suggestedActionAddLoginPasskey::ID:
13310 if constexpr (AllowTag) {
13311 downcast_call_tag<suggestedActionAddLoginPasskey> type_tag;
13312 func(type_tag);
13313 } else {
13314 func(static_cast<suggestedActionAddLoginPasskey &>(*obj));
13315 }
13316 return true;
13317 case suggestedPostInfo::ID:
13318 if constexpr (AllowTag) {
13319 downcast_call_tag<suggestedPostInfo> type_tag;
13320 func(type_tag);
13321 } else {
13322 func(static_cast<suggestedPostInfo &>(*obj));
13323 }
13324 return true;
13325 case suggestedPostPriceStar::ID:
13326 if constexpr (AllowTag) {
13327 downcast_call_tag<suggestedPostPriceStar> type_tag;
13328 func(type_tag);
13329 } else {
13330 func(static_cast<suggestedPostPriceStar &>(*obj));
13331 }
13332 return true;
13333 case suggestedPostPriceTon::ID:
13334 if constexpr (AllowTag) {
13335 downcast_call_tag<suggestedPostPriceTon> type_tag;
13336 func(type_tag);
13337 } else {
13338 func(static_cast<suggestedPostPriceTon &>(*obj));
13339 }
13340 return true;
13341 case suggestedPostRefundReasonPostDeleted::ID:
13342 if constexpr (AllowTag) {
13343 downcast_call_tag<suggestedPostRefundReasonPostDeleted> type_tag;
13344 func(type_tag);
13345 } else {
13346 func(static_cast<suggestedPostRefundReasonPostDeleted &>(*obj));
13347 }
13348 return true;
13349 case suggestedPostRefundReasonPaymentRefunded::ID:
13350 if constexpr (AllowTag) {
13351 downcast_call_tag<suggestedPostRefundReasonPaymentRefunded> type_tag;
13352 func(type_tag);
13353 } else {
13354 func(static_cast<suggestedPostRefundReasonPaymentRefunded &>(*obj));
13355 }
13356 return true;
13357 case suggestedPostStatePending::ID:
13358 if constexpr (AllowTag) {
13359 downcast_call_tag<suggestedPostStatePending> type_tag;
13360 func(type_tag);
13361 } else {
13362 func(static_cast<suggestedPostStatePending &>(*obj));
13363 }
13364 return true;
13365 case suggestedPostStateApproved::ID:
13366 if constexpr (AllowTag) {
13367 downcast_call_tag<suggestedPostStateApproved> type_tag;
13368 func(type_tag);
13369 } else {
13370 func(static_cast<suggestedPostStateApproved &>(*obj));
13371 }
13372 return true;
13373 case suggestedPostStateDeclined::ID:
13374 if constexpr (AllowTag) {
13375 downcast_call_tag<suggestedPostStateDeclined> type_tag;
13376 func(type_tag);
13377 } else {
13378 func(static_cast<suggestedPostStateDeclined &>(*obj));
13379 }
13380 return true;
13381 case supergroup::ID:
13382 if constexpr (AllowTag) {
13383 downcast_call_tag<supergroup> type_tag;
13384 func(type_tag);
13385 } else {
13386 func(static_cast<supergroup &>(*obj));
13387 }
13388 return true;
13389 case supergroupFullInfo::ID:
13390 if constexpr (AllowTag) {
13391 downcast_call_tag<supergroupFullInfo> type_tag;
13392 func(type_tag);
13393 } else {
13394 func(static_cast<supergroupFullInfo &>(*obj));
13395 }
13396 return true;
13397 case supergroupMembersFilterRecent::ID:
13398 if constexpr (AllowTag) {
13399 downcast_call_tag<supergroupMembersFilterRecent> type_tag;
13400 func(type_tag);
13401 } else {
13402 func(static_cast<supergroupMembersFilterRecent &>(*obj));
13403 }
13404 return true;
13405 case supergroupMembersFilterContacts::ID:
13406 if constexpr (AllowTag) {
13407 downcast_call_tag<supergroupMembersFilterContacts> type_tag;
13408 func(type_tag);
13409 } else {
13410 func(static_cast<supergroupMembersFilterContacts &>(*obj));
13411 }
13412 return true;
13413 case supergroupMembersFilterAdministrators::ID:
13414 if constexpr (AllowTag) {
13415 downcast_call_tag<supergroupMembersFilterAdministrators> type_tag;
13416 func(type_tag);
13417 } else {
13418 func(static_cast<supergroupMembersFilterAdministrators &>(*obj));
13419 }
13420 return true;
13421 case supergroupMembersFilterSearch::ID:
13422 if constexpr (AllowTag) {
13423 downcast_call_tag<supergroupMembersFilterSearch> type_tag;
13424 func(type_tag);
13425 } else {
13426 func(static_cast<supergroupMembersFilterSearch &>(*obj));
13427 }
13428 return true;
13429 case supergroupMembersFilterRestricted::ID:
13430 if constexpr (AllowTag) {
13431 downcast_call_tag<supergroupMembersFilterRestricted> type_tag;
13432 func(type_tag);
13433 } else {
13434 func(static_cast<supergroupMembersFilterRestricted &>(*obj));
13435 }
13436 return true;
13437 case supergroupMembersFilterBanned::ID:
13438 if constexpr (AllowTag) {
13439 downcast_call_tag<supergroupMembersFilterBanned> type_tag;
13440 func(type_tag);
13441 } else {
13442 func(static_cast<supergroupMembersFilterBanned &>(*obj));
13443 }
13444 return true;
13445 case supergroupMembersFilterMention::ID:
13446 if constexpr (AllowTag) {
13447 downcast_call_tag<supergroupMembersFilterMention> type_tag;
13448 func(type_tag);
13449 } else {
13450 func(static_cast<supergroupMembersFilterMention &>(*obj));
13451 }
13452 return true;
13453 case supergroupMembersFilterBots::ID:
13454 if constexpr (AllowTag) {
13455 downcast_call_tag<supergroupMembersFilterBots> type_tag;
13456 func(type_tag);
13457 } else {
13458 func(static_cast<supergroupMembersFilterBots &>(*obj));
13459 }
13460 return true;
13461 case tMeUrl::ID:
13462 if constexpr (AllowTag) {
13463 downcast_call_tag<tMeUrl> type_tag;
13464 func(type_tag);
13465 } else {
13466 func(static_cast<tMeUrl &>(*obj));
13467 }
13468 return true;
13469 case tMeUrlTypeUser::ID:
13470 if constexpr (AllowTag) {
13471 downcast_call_tag<tMeUrlTypeUser> type_tag;
13472 func(type_tag);
13473 } else {
13474 func(static_cast<tMeUrlTypeUser &>(*obj));
13475 }
13476 return true;
13477 case tMeUrlTypeSupergroup::ID:
13478 if constexpr (AllowTag) {
13479 downcast_call_tag<tMeUrlTypeSupergroup> type_tag;
13480 func(type_tag);
13481 } else {
13482 func(static_cast<tMeUrlTypeSupergroup &>(*obj));
13483 }
13484 return true;
13485 case tMeUrlTypeChatInvite::ID:
13486 if constexpr (AllowTag) {
13487 downcast_call_tag<tMeUrlTypeChatInvite> type_tag;
13488 func(type_tag);
13489 } else {
13490 func(static_cast<tMeUrlTypeChatInvite &>(*obj));
13491 }
13492 return true;
13493 case tMeUrlTypeStickerSet::ID:
13494 if constexpr (AllowTag) {
13495 downcast_call_tag<tMeUrlTypeStickerSet> type_tag;
13496 func(type_tag);
13497 } else {
13498 func(static_cast<tMeUrlTypeStickerSet &>(*obj));
13499 }
13500 return true;
13501 case tMeUrls::ID:
13502 if constexpr (AllowTag) {
13503 downcast_call_tag<tMeUrls> type_tag;
13504 func(type_tag);
13505 } else {
13506 func(static_cast<tMeUrls &>(*obj));
13507 }
13508 return true;
13509 case targetChatCurrent::ID:
13510 if constexpr (AllowTag) {
13511 downcast_call_tag<targetChatCurrent> type_tag;
13512 func(type_tag);
13513 } else {
13514 func(static_cast<targetChatCurrent &>(*obj));
13515 }
13516 return true;
13517 case targetChatChosen::ID:
13518 if constexpr (AllowTag) {
13519 downcast_call_tag<targetChatChosen> type_tag;
13520 func(type_tag);
13521 } else {
13522 func(static_cast<targetChatChosen &>(*obj));
13523 }
13524 return true;
13525 case targetChatInternalLink::ID:
13526 if constexpr (AllowTag) {
13527 downcast_call_tag<targetChatInternalLink> type_tag;
13528 func(type_tag);
13529 } else {
13530 func(static_cast<targetChatInternalLink &>(*obj));
13531 }
13532 return true;
13533 case targetChatTypes::ID:
13534 if constexpr (AllowTag) {
13535 downcast_call_tag<targetChatTypes> type_tag;
13536 func(type_tag);
13537 } else {
13538 func(static_cast<targetChatTypes &>(*obj));
13539 }
13540 return true;
13541 case telegramPaymentPurposePremiumGift::ID:
13542 if constexpr (AllowTag) {
13543 downcast_call_tag<telegramPaymentPurposePremiumGift> type_tag;
13544 func(type_tag);
13545 } else {
13546 func(static_cast<telegramPaymentPurposePremiumGift &>(*obj));
13547 }
13548 return true;
13549 case telegramPaymentPurposePremiumGiftCodes::ID:
13550 if constexpr (AllowTag) {
13551 downcast_call_tag<telegramPaymentPurposePremiumGiftCodes> type_tag;
13552 func(type_tag);
13553 } else {
13554 func(static_cast<telegramPaymentPurposePremiumGiftCodes &>(*obj));
13555 }
13556 return true;
13557 case telegramPaymentPurposePremiumGiveaway::ID:
13558 if constexpr (AllowTag) {
13559 downcast_call_tag<telegramPaymentPurposePremiumGiveaway> type_tag;
13560 func(type_tag);
13561 } else {
13562 func(static_cast<telegramPaymentPurposePremiumGiveaway &>(*obj));
13563 }
13564 return true;
13565 case telegramPaymentPurposeStars::ID:
13566 if constexpr (AllowTag) {
13567 downcast_call_tag<telegramPaymentPurposeStars> type_tag;
13568 func(type_tag);
13569 } else {
13570 func(static_cast<telegramPaymentPurposeStars &>(*obj));
13571 }
13572 return true;
13573 case telegramPaymentPurposeGiftedStars::ID:
13574 if constexpr (AllowTag) {
13575 downcast_call_tag<telegramPaymentPurposeGiftedStars> type_tag;
13576 func(type_tag);
13577 } else {
13578 func(static_cast<telegramPaymentPurposeGiftedStars &>(*obj));
13579 }
13580 return true;
13581 case telegramPaymentPurposeStarGiveaway::ID:
13582 if constexpr (AllowTag) {
13583 downcast_call_tag<telegramPaymentPurposeStarGiveaway> type_tag;
13584 func(type_tag);
13585 } else {
13586 func(static_cast<telegramPaymentPurposeStarGiveaway &>(*obj));
13587 }
13588 return true;
13589 case telegramPaymentPurposeJoinChat::ID:
13590 if constexpr (AllowTag) {
13591 downcast_call_tag<telegramPaymentPurposeJoinChat> type_tag;
13592 func(type_tag);
13593 } else {
13594 func(static_cast<telegramPaymentPurposeJoinChat &>(*obj));
13595 }
13596 return true;
13597 case temporaryPasswordState::ID:
13598 if constexpr (AllowTag) {
13599 downcast_call_tag<temporaryPasswordState> type_tag;
13600 func(type_tag);
13601 } else {
13602 func(static_cast<temporaryPasswordState &>(*obj));
13603 }
13604 return true;
13605 case termsOfService::ID:
13606 if constexpr (AllowTag) {
13607 downcast_call_tag<termsOfService> type_tag;
13608 func(type_tag);
13609 } else {
13610 func(static_cast<termsOfService &>(*obj));
13611 }
13612 return true;
13613 case testBytes::ID:
13614 if constexpr (AllowTag) {
13615 downcast_call_tag<testBytes> type_tag;
13616 func(type_tag);
13617 } else {
13618 func(static_cast<testBytes &>(*obj));
13619 }
13620 return true;
13621 case testInt::ID:
13622 if constexpr (AllowTag) {
13623 downcast_call_tag<testInt> type_tag;
13624 func(type_tag);
13625 } else {
13626 func(static_cast<testInt &>(*obj));
13627 }
13628 return true;
13629 case testString::ID:
13630 if constexpr (AllowTag) {
13631 downcast_call_tag<testString> type_tag;
13632 func(type_tag);
13633 } else {
13634 func(static_cast<testString &>(*obj));
13635 }
13636 return true;
13637 case testVectorInt::ID:
13638 if constexpr (AllowTag) {
13639 downcast_call_tag<testVectorInt> type_tag;
13640 func(type_tag);
13641 } else {
13642 func(static_cast<testVectorInt &>(*obj));
13643 }
13644 return true;
13645 case testVectorIntObject::ID:
13646 if constexpr (AllowTag) {
13647 downcast_call_tag<testVectorIntObject> type_tag;
13648 func(type_tag);
13649 } else {
13650 func(static_cast<testVectorIntObject &>(*obj));
13651 }
13652 return true;
13653 case testVectorString::ID:
13654 if constexpr (AllowTag) {
13655 downcast_call_tag<testVectorString> type_tag;
13656 func(type_tag);
13657 } else {
13658 func(static_cast<testVectorString &>(*obj));
13659 }
13660 return true;
13661 case testVectorStringObject::ID:
13662 if constexpr (AllowTag) {
13663 downcast_call_tag<testVectorStringObject> type_tag;
13664 func(type_tag);
13665 } else {
13666 func(static_cast<testVectorStringObject &>(*obj));
13667 }
13668 return true;
13669 case text::ID:
13670 if constexpr (AllowTag) {
13671 downcast_call_tag<text> type_tag;
13672 func(type_tag);
13673 } else {
13674 func(static_cast<text &>(*obj));
13675 }
13676 return true;
13677 case textCompositionStyle::ID:
13678 if constexpr (AllowTag) {
13679 downcast_call_tag<textCompositionStyle> type_tag;
13680 func(type_tag);
13681 } else {
13682 func(static_cast<textCompositionStyle &>(*obj));
13683 }
13684 return true;
13685 case textEntities::ID:
13686 if constexpr (AllowTag) {
13687 downcast_call_tag<textEntities> type_tag;
13688 func(type_tag);
13689 } else {
13690 func(static_cast<textEntities &>(*obj));
13691 }
13692 return true;
13693 case textEntity::ID:
13694 if constexpr (AllowTag) {
13695 downcast_call_tag<textEntity> type_tag;
13696 func(type_tag);
13697 } else {
13698 func(static_cast<textEntity &>(*obj));
13699 }
13700 return true;
13701 case textEntityTypeMention::ID:
13702 if constexpr (AllowTag) {
13703 downcast_call_tag<textEntityTypeMention> type_tag;
13704 func(type_tag);
13705 } else {
13706 func(static_cast<textEntityTypeMention &>(*obj));
13707 }
13708 return true;
13709 case textEntityTypeHashtag::ID:
13710 if constexpr (AllowTag) {
13711 downcast_call_tag<textEntityTypeHashtag> type_tag;
13712 func(type_tag);
13713 } else {
13714 func(static_cast<textEntityTypeHashtag &>(*obj));
13715 }
13716 return true;
13717 case textEntityTypeCashtag::ID:
13718 if constexpr (AllowTag) {
13719 downcast_call_tag<textEntityTypeCashtag> type_tag;
13720 func(type_tag);
13721 } else {
13722 func(static_cast<textEntityTypeCashtag &>(*obj));
13723 }
13724 return true;
13725 case textEntityTypeBotCommand::ID:
13726 if constexpr (AllowTag) {
13727 downcast_call_tag<textEntityTypeBotCommand> type_tag;
13728 func(type_tag);
13729 } else {
13730 func(static_cast<textEntityTypeBotCommand &>(*obj));
13731 }
13732 return true;
13733 case textEntityTypeUrl::ID:
13734 if constexpr (AllowTag) {
13735 downcast_call_tag<textEntityTypeUrl> type_tag;
13736 func(type_tag);
13737 } else {
13738 func(static_cast<textEntityTypeUrl &>(*obj));
13739 }
13740 return true;
13741 case textEntityTypeEmailAddress::ID:
13742 if constexpr (AllowTag) {
13743 downcast_call_tag<textEntityTypeEmailAddress> type_tag;
13744 func(type_tag);
13745 } else {
13746 func(static_cast<textEntityTypeEmailAddress &>(*obj));
13747 }
13748 return true;
13749 case textEntityTypePhoneNumber::ID:
13750 if constexpr (AllowTag) {
13751 downcast_call_tag<textEntityTypePhoneNumber> type_tag;
13752 func(type_tag);
13753 } else {
13754 func(static_cast<textEntityTypePhoneNumber &>(*obj));
13755 }
13756 return true;
13757 case textEntityTypeBankCardNumber::ID:
13758 if constexpr (AllowTag) {
13759 downcast_call_tag<textEntityTypeBankCardNumber> type_tag;
13760 func(type_tag);
13761 } else {
13762 func(static_cast<textEntityTypeBankCardNumber &>(*obj));
13763 }
13764 return true;
13765 case textEntityTypeBold::ID:
13766 if constexpr (AllowTag) {
13767 downcast_call_tag<textEntityTypeBold> type_tag;
13768 func(type_tag);
13769 } else {
13770 func(static_cast<textEntityTypeBold &>(*obj));
13771 }
13772 return true;
13773 case textEntityTypeItalic::ID:
13774 if constexpr (AllowTag) {
13775 downcast_call_tag<textEntityTypeItalic> type_tag;
13776 func(type_tag);
13777 } else {
13778 func(static_cast<textEntityTypeItalic &>(*obj));
13779 }
13780 return true;
13781 case textEntityTypeUnderline::ID:
13782 if constexpr (AllowTag) {
13783 downcast_call_tag<textEntityTypeUnderline> type_tag;
13784 func(type_tag);
13785 } else {
13786 func(static_cast<textEntityTypeUnderline &>(*obj));
13787 }
13788 return true;
13789 case textEntityTypeStrikethrough::ID:
13790 if constexpr (AllowTag) {
13791 downcast_call_tag<textEntityTypeStrikethrough> type_tag;
13792 func(type_tag);
13793 } else {
13794 func(static_cast<textEntityTypeStrikethrough &>(*obj));
13795 }
13796 return true;
13797 case textEntityTypeSpoiler::ID:
13798 if constexpr (AllowTag) {
13799 downcast_call_tag<textEntityTypeSpoiler> type_tag;
13800 func(type_tag);
13801 } else {
13802 func(static_cast<textEntityTypeSpoiler &>(*obj));
13803 }
13804 return true;
13805 case textEntityTypeCode::ID:
13806 if constexpr (AllowTag) {
13807 downcast_call_tag<textEntityTypeCode> type_tag;
13808 func(type_tag);
13809 } else {
13810 func(static_cast<textEntityTypeCode &>(*obj));
13811 }
13812 return true;
13813 case textEntityTypePre::ID:
13814 if constexpr (AllowTag) {
13815 downcast_call_tag<textEntityTypePre> type_tag;
13816 func(type_tag);
13817 } else {
13818 func(static_cast<textEntityTypePre &>(*obj));
13819 }
13820 return true;
13821 case textEntityTypePreCode::ID:
13822 if constexpr (AllowTag) {
13823 downcast_call_tag<textEntityTypePreCode> type_tag;
13824 func(type_tag);
13825 } else {
13826 func(static_cast<textEntityTypePreCode &>(*obj));
13827 }
13828 return true;
13829 case textEntityTypeBlockQuote::ID:
13830 if constexpr (AllowTag) {
13831 downcast_call_tag<textEntityTypeBlockQuote> type_tag;
13832 func(type_tag);
13833 } else {
13834 func(static_cast<textEntityTypeBlockQuote &>(*obj));
13835 }
13836 return true;
13837 case textEntityTypeExpandableBlockQuote::ID:
13838 if constexpr (AllowTag) {
13839 downcast_call_tag<textEntityTypeExpandableBlockQuote> type_tag;
13840 func(type_tag);
13841 } else {
13842 func(static_cast<textEntityTypeExpandableBlockQuote &>(*obj));
13843 }
13844 return true;
13845 case textEntityTypeTextUrl::ID:
13846 if constexpr (AllowTag) {
13847 downcast_call_tag<textEntityTypeTextUrl> type_tag;
13848 func(type_tag);
13849 } else {
13850 func(static_cast<textEntityTypeTextUrl &>(*obj));
13851 }
13852 return true;
13853 case textEntityTypeMentionName::ID:
13854 if constexpr (AllowTag) {
13855 downcast_call_tag<textEntityTypeMentionName> type_tag;
13856 func(type_tag);
13857 } else {
13858 func(static_cast<textEntityTypeMentionName &>(*obj));
13859 }
13860 return true;
13861 case textEntityTypeCustomEmoji::ID:
13862 if constexpr (AllowTag) {
13863 downcast_call_tag<textEntityTypeCustomEmoji> type_tag;
13864 func(type_tag);
13865 } else {
13866 func(static_cast<textEntityTypeCustomEmoji &>(*obj));
13867 }
13868 return true;
13869 case textEntityTypeMediaTimestamp::ID:
13870 if constexpr (AllowTag) {
13871 downcast_call_tag<textEntityTypeMediaTimestamp> type_tag;
13872 func(type_tag);
13873 } else {
13874 func(static_cast<textEntityTypeMediaTimestamp &>(*obj));
13875 }
13876 return true;
13877 case textEntityTypeDateTime::ID:
13878 if constexpr (AllowTag) {
13879 downcast_call_tag<textEntityTypeDateTime> type_tag;
13880 func(type_tag);
13881 } else {
13882 func(static_cast<textEntityTypeDateTime &>(*obj));
13883 }
13884 return true;
13885 case textParseModeMarkdown::ID:
13886 if constexpr (AllowTag) {
13887 downcast_call_tag<textParseModeMarkdown> type_tag;
13888 func(type_tag);
13889 } else {
13890 func(static_cast<textParseModeMarkdown &>(*obj));
13891 }
13892 return true;
13893 case textParseModeHTML::ID:
13894 if constexpr (AllowTag) {
13895 downcast_call_tag<textParseModeHTML> type_tag;
13896 func(type_tag);
13897 } else {
13898 func(static_cast<textParseModeHTML &>(*obj));
13899 }
13900 return true;
13901 case textQuote::ID:
13902 if constexpr (AllowTag) {
13903 downcast_call_tag<textQuote> type_tag;
13904 func(type_tag);
13905 } else {
13906 func(static_cast<textQuote &>(*obj));
13907 }
13908 return true;
13909 case themeParameters::ID:
13910 if constexpr (AllowTag) {
13911 downcast_call_tag<themeParameters> type_tag;
13912 func(type_tag);
13913 } else {
13914 func(static_cast<themeParameters &>(*obj));
13915 }
13916 return true;
13917 case themeSettings::ID:
13918 if constexpr (AllowTag) {
13919 downcast_call_tag<themeSettings> type_tag;
13920 func(type_tag);
13921 } else {
13922 func(static_cast<themeSettings &>(*obj));
13923 }
13924 return true;
13925 case thumbnail::ID:
13926 if constexpr (AllowTag) {
13927 downcast_call_tag<thumbnail> type_tag;
13928 func(type_tag);
13929 } else {
13930 func(static_cast<thumbnail &>(*obj));
13931 }
13932 return true;
13933 case thumbnailFormatJpeg::ID:
13934 if constexpr (AllowTag) {
13935 downcast_call_tag<thumbnailFormatJpeg> type_tag;
13936 func(type_tag);
13937 } else {
13938 func(static_cast<thumbnailFormatJpeg &>(*obj));
13939 }
13940 return true;
13941 case thumbnailFormatGif::ID:
13942 if constexpr (AllowTag) {
13943 downcast_call_tag<thumbnailFormatGif> type_tag;
13944 func(type_tag);
13945 } else {
13946 func(static_cast<thumbnailFormatGif &>(*obj));
13947 }
13948 return true;
13949 case thumbnailFormatMpeg4::ID:
13950 if constexpr (AllowTag) {
13951 downcast_call_tag<thumbnailFormatMpeg4> type_tag;
13952 func(type_tag);
13953 } else {
13954 func(static_cast<thumbnailFormatMpeg4 &>(*obj));
13955 }
13956 return true;
13957 case thumbnailFormatPng::ID:
13958 if constexpr (AllowTag) {
13959 downcast_call_tag<thumbnailFormatPng> type_tag;
13960 func(type_tag);
13961 } else {
13962 func(static_cast<thumbnailFormatPng &>(*obj));
13963 }
13964 return true;
13965 case thumbnailFormatTgs::ID:
13966 if constexpr (AllowTag) {
13967 downcast_call_tag<thumbnailFormatTgs> type_tag;
13968 func(type_tag);
13969 } else {
13970 func(static_cast<thumbnailFormatTgs &>(*obj));
13971 }
13972 return true;
13973 case thumbnailFormatWebm::ID:
13974 if constexpr (AllowTag) {
13975 downcast_call_tag<thumbnailFormatWebm> type_tag;
13976 func(type_tag);
13977 } else {
13978 func(static_cast<thumbnailFormatWebm &>(*obj));
13979 }
13980 return true;
13981 case thumbnailFormatWebp::ID:
13982 if constexpr (AllowTag) {
13983 downcast_call_tag<thumbnailFormatWebp> type_tag;
13984 func(type_tag);
13985 } else {
13986 func(static_cast<thumbnailFormatWebp &>(*obj));
13987 }
13988 return true;
13989 case timeZone::ID:
13990 if constexpr (AllowTag) {
13991 downcast_call_tag<timeZone> type_tag;
13992 func(type_tag);
13993 } else {
13994 func(static_cast<timeZone &>(*obj));
13995 }
13996 return true;
13997 case timeZones::ID:
13998 if constexpr (AllowTag) {
13999 downcast_call_tag<timeZones> type_tag;
14000 func(type_tag);
14001 } else {
14002 func(static_cast<timeZones &>(*obj));
14003 }
14004 return true;
14005 case tonRevenueStatistics::ID:
14006 if constexpr (AllowTag) {
14007 downcast_call_tag<tonRevenueStatistics> type_tag;
14008 func(type_tag);
14009 } else {
14010 func(static_cast<tonRevenueStatistics &>(*obj));
14011 }
14012 return true;
14013 case tonRevenueStatus::ID:
14014 if constexpr (AllowTag) {
14015 downcast_call_tag<tonRevenueStatus> type_tag;
14016 func(type_tag);
14017 } else {
14018 func(static_cast<tonRevenueStatus &>(*obj));
14019 }
14020 return true;
14021 case tonTransaction::ID:
14022 if constexpr (AllowTag) {
14023 downcast_call_tag<tonTransaction> type_tag;
14024 func(type_tag);
14025 } else {
14026 func(static_cast<tonTransaction &>(*obj));
14027 }
14028 return true;
14029 case tonTransactionTypeFragmentDeposit::ID:
14030 if constexpr (AllowTag) {
14031 downcast_call_tag<tonTransactionTypeFragmentDeposit> type_tag;
14032 func(type_tag);
14033 } else {
14034 func(static_cast<tonTransactionTypeFragmentDeposit &>(*obj));
14035 }
14036 return true;
14037 case tonTransactionTypeFragmentWithdrawal::ID:
14038 if constexpr (AllowTag) {
14039 downcast_call_tag<tonTransactionTypeFragmentWithdrawal> type_tag;
14040 func(type_tag);
14041 } else {
14042 func(static_cast<tonTransactionTypeFragmentWithdrawal &>(*obj));
14043 }
14044 return true;
14045 case tonTransactionTypeSuggestedPostPayment::ID:
14046 if constexpr (AllowTag) {
14047 downcast_call_tag<tonTransactionTypeSuggestedPostPayment> type_tag;
14048 func(type_tag);
14049 } else {
14050 func(static_cast<tonTransactionTypeSuggestedPostPayment &>(*obj));
14051 }
14052 return true;
14053 case tonTransactionTypeGiftPurchaseOffer::ID:
14054 if constexpr (AllowTag) {
14055 downcast_call_tag<tonTransactionTypeGiftPurchaseOffer> type_tag;
14056 func(type_tag);
14057 } else {
14058 func(static_cast<tonTransactionTypeGiftPurchaseOffer &>(*obj));
14059 }
14060 return true;
14061 case tonTransactionTypeUpgradedGiftPurchase::ID:
14062 if constexpr (AllowTag) {
14063 downcast_call_tag<tonTransactionTypeUpgradedGiftPurchase> type_tag;
14064 func(type_tag);
14065 } else {
14066 func(static_cast<tonTransactionTypeUpgradedGiftPurchase &>(*obj));
14067 }
14068 return true;
14069 case tonTransactionTypeUpgradedGiftSale::ID:
14070 if constexpr (AllowTag) {
14071 downcast_call_tag<tonTransactionTypeUpgradedGiftSale> type_tag;
14072 func(type_tag);
14073 } else {
14074 func(static_cast<tonTransactionTypeUpgradedGiftSale &>(*obj));
14075 }
14076 return true;
14077 case tonTransactionTypeStakeDiceStake::ID:
14078 if constexpr (AllowTag) {
14079 downcast_call_tag<tonTransactionTypeStakeDiceStake> type_tag;
14080 func(type_tag);
14081 } else {
14082 func(static_cast<tonTransactionTypeStakeDiceStake &>(*obj));
14083 }
14084 return true;
14085 case tonTransactionTypeStakeDicePayout::ID:
14086 if constexpr (AllowTag) {
14087 downcast_call_tag<tonTransactionTypeStakeDicePayout> type_tag;
14088 func(type_tag);
14089 } else {
14090 func(static_cast<tonTransactionTypeStakeDicePayout &>(*obj));
14091 }
14092 return true;
14093 case tonTransactionTypeUnsupported::ID:
14094 if constexpr (AllowTag) {
14095 downcast_call_tag<tonTransactionTypeUnsupported> type_tag;
14096 func(type_tag);
14097 } else {
14098 func(static_cast<tonTransactionTypeUnsupported &>(*obj));
14099 }
14100 return true;
14101 case tonTransactions::ID:
14102 if constexpr (AllowTag) {
14103 downcast_call_tag<tonTransactions> type_tag;
14104 func(type_tag);
14105 } else {
14106 func(static_cast<tonTransactions &>(*obj));
14107 }
14108 return true;
14109 case topChatCategoryUsers::ID:
14110 if constexpr (AllowTag) {
14111 downcast_call_tag<topChatCategoryUsers> type_tag;
14112 func(type_tag);
14113 } else {
14114 func(static_cast<topChatCategoryUsers &>(*obj));
14115 }
14116 return true;
14117 case topChatCategoryBots::ID:
14118 if constexpr (AllowTag) {
14119 downcast_call_tag<topChatCategoryBots> type_tag;
14120 func(type_tag);
14121 } else {
14122 func(static_cast<topChatCategoryBots &>(*obj));
14123 }
14124 return true;
14125 case topChatCategoryGroups::ID:
14126 if constexpr (AllowTag) {
14127 downcast_call_tag<topChatCategoryGroups> type_tag;
14128 func(type_tag);
14129 } else {
14130 func(static_cast<topChatCategoryGroups &>(*obj));
14131 }
14132 return true;
14133 case topChatCategoryChannels::ID:
14134 if constexpr (AllowTag) {
14135 downcast_call_tag<topChatCategoryChannels> type_tag;
14136 func(type_tag);
14137 } else {
14138 func(static_cast<topChatCategoryChannels &>(*obj));
14139 }
14140 return true;
14141 case topChatCategoryInlineBots::ID:
14142 if constexpr (AllowTag) {
14143 downcast_call_tag<topChatCategoryInlineBots> type_tag;
14144 func(type_tag);
14145 } else {
14146 func(static_cast<topChatCategoryInlineBots &>(*obj));
14147 }
14148 return true;
14149 case topChatCategoryGuestBots::ID:
14150 if constexpr (AllowTag) {
14151 downcast_call_tag<topChatCategoryGuestBots> type_tag;
14152 func(type_tag);
14153 } else {
14154 func(static_cast<topChatCategoryGuestBots &>(*obj));
14155 }
14156 return true;
14157 case topChatCategoryWebAppBots::ID:
14158 if constexpr (AllowTag) {
14159 downcast_call_tag<topChatCategoryWebAppBots> type_tag;
14160 func(type_tag);
14161 } else {
14162 func(static_cast<topChatCategoryWebAppBots &>(*obj));
14163 }
14164 return true;
14165 case topChatCategoryCalls::ID:
14166 if constexpr (AllowTag) {
14167 downcast_call_tag<topChatCategoryCalls> type_tag;
14168 func(type_tag);
14169 } else {
14170 func(static_cast<topChatCategoryCalls &>(*obj));
14171 }
14172 return true;
14173 case topChatCategoryForwardChats::ID:
14174 if constexpr (AllowTag) {
14175 downcast_call_tag<topChatCategoryForwardChats> type_tag;
14176 func(type_tag);
14177 } else {
14178 func(static_cast<topChatCategoryForwardChats &>(*obj));
14179 }
14180 return true;
14181 case transactionDirectionIncoming::ID:
14182 if constexpr (AllowTag) {
14183 downcast_call_tag<transactionDirectionIncoming> type_tag;
14184 func(type_tag);
14185 } else {
14186 func(static_cast<transactionDirectionIncoming &>(*obj));
14187 }
14188 return true;
14189 case transactionDirectionOutgoing::ID:
14190 if constexpr (AllowTag) {
14191 downcast_call_tag<transactionDirectionOutgoing> type_tag;
14192 func(type_tag);
14193 } else {
14194 func(static_cast<transactionDirectionOutgoing &>(*obj));
14195 }
14196 return true;
14197 case trendingStickerSets::ID:
14198 if constexpr (AllowTag) {
14199 downcast_call_tag<trendingStickerSets> type_tag;
14200 func(type_tag);
14201 } else {
14202 func(static_cast<trendingStickerSets &>(*obj));
14203 }
14204 return true;
14205 case unconfirmedSession::ID:
14206 if constexpr (AllowTag) {
14207 downcast_call_tag<unconfirmedSession> type_tag;
14208 func(type_tag);
14209 } else {
14210 func(static_cast<unconfirmedSession &>(*obj));
14211 }
14212 return true;
14213 case unreadReaction::ID:
14214 if constexpr (AllowTag) {
14215 downcast_call_tag<unreadReaction> type_tag;
14216 func(type_tag);
14217 } else {
14218 func(static_cast<unreadReaction &>(*obj));
14219 }
14220 return true;
14221 case updateAuthorizationState::ID:
14222 if constexpr (AllowTag) {
14223 downcast_call_tag<updateAuthorizationState> type_tag;
14224 func(type_tag);
14225 } else {
14226 func(static_cast<updateAuthorizationState &>(*obj));
14227 }
14228 return true;
14229 case updateNewMessage::ID:
14230 if constexpr (AllowTag) {
14231 downcast_call_tag<updateNewMessage> type_tag;
14232 func(type_tag);
14233 } else {
14234 func(static_cast<updateNewMessage &>(*obj));
14235 }
14236 return true;
14237 case updateMessageSendAcknowledged::ID:
14238 if constexpr (AllowTag) {
14239 downcast_call_tag<updateMessageSendAcknowledged> type_tag;
14240 func(type_tag);
14241 } else {
14242 func(static_cast<updateMessageSendAcknowledged &>(*obj));
14243 }
14244 return true;
14245 case updateMessageSendSucceeded::ID:
14246 if constexpr (AllowTag) {
14247 downcast_call_tag<updateMessageSendSucceeded> type_tag;
14248 func(type_tag);
14249 } else {
14250 func(static_cast<updateMessageSendSucceeded &>(*obj));
14251 }
14252 return true;
14253 case updateMessageSendFailed::ID:
14254 if constexpr (AllowTag) {
14255 downcast_call_tag<updateMessageSendFailed> type_tag;
14256 func(type_tag);
14257 } else {
14258 func(static_cast<updateMessageSendFailed &>(*obj));
14259 }
14260 return true;
14261 case updateMessageContent::ID:
14262 if constexpr (AllowTag) {
14263 downcast_call_tag<updateMessageContent> type_tag;
14264 func(type_tag);
14265 } else {
14266 func(static_cast<updateMessageContent &>(*obj));
14267 }
14268 return true;
14269 case updateMessageEdited::ID:
14270 if constexpr (AllowTag) {
14271 downcast_call_tag<updateMessageEdited> type_tag;
14272 func(type_tag);
14273 } else {
14274 func(static_cast<updateMessageEdited &>(*obj));
14275 }
14276 return true;
14277 case updateMessageIsPinned::ID:
14278 if constexpr (AllowTag) {
14279 downcast_call_tag<updateMessageIsPinned> type_tag;
14280 func(type_tag);
14281 } else {
14282 func(static_cast<updateMessageIsPinned &>(*obj));
14283 }
14284 return true;
14285 case updateMessageInteractionInfo::ID:
14286 if constexpr (AllowTag) {
14287 downcast_call_tag<updateMessageInteractionInfo> type_tag;
14288 func(type_tag);
14289 } else {
14290 func(static_cast<updateMessageInteractionInfo &>(*obj));
14291 }
14292 return true;
14293 case updateMessageContentOpened::ID:
14294 if constexpr (AllowTag) {
14295 downcast_call_tag<updateMessageContentOpened> type_tag;
14296 func(type_tag);
14297 } else {
14298 func(static_cast<updateMessageContentOpened &>(*obj));
14299 }
14300 return true;
14301 case updateMessageMentionRead::ID:
14302 if constexpr (AllowTag) {
14303 downcast_call_tag<updateMessageMentionRead> type_tag;
14304 func(type_tag);
14305 } else {
14306 func(static_cast<updateMessageMentionRead &>(*obj));
14307 }
14308 return true;
14309 case updateMessageUnreadReactions::ID:
14310 if constexpr (AllowTag) {
14311 downcast_call_tag<updateMessageUnreadReactions> type_tag;
14312 func(type_tag);
14313 } else {
14314 func(static_cast<updateMessageUnreadReactions &>(*obj));
14315 }
14316 return true;
14317 case updateMessageContainsUnreadPollVotes::ID:
14318 if constexpr (AllowTag) {
14319 downcast_call_tag<updateMessageContainsUnreadPollVotes> type_tag;
14320 func(type_tag);
14321 } else {
14322 func(static_cast<updateMessageContainsUnreadPollVotes &>(*obj));
14323 }
14324 return true;
14325 case updateMessageFactCheck::ID:
14326 if constexpr (AllowTag) {
14327 downcast_call_tag<updateMessageFactCheck> type_tag;
14328 func(type_tag);
14329 } else {
14330 func(static_cast<updateMessageFactCheck &>(*obj));
14331 }
14332 return true;
14333 case updateMessageSuggestedPostInfo::ID:
14334 if constexpr (AllowTag) {
14335 downcast_call_tag<updateMessageSuggestedPostInfo> type_tag;
14336 func(type_tag);
14337 } else {
14338 func(static_cast<updateMessageSuggestedPostInfo &>(*obj));
14339 }
14340 return true;
14341 case updateMessageLiveLocationViewed::ID:
14342 if constexpr (AllowTag) {
14343 downcast_call_tag<updateMessageLiveLocationViewed> type_tag;
14344 func(type_tag);
14345 } else {
14346 func(static_cast<updateMessageLiveLocationViewed &>(*obj));
14347 }
14348 return true;
14349 case updateVideoPublished::ID:
14350 if constexpr (AllowTag) {
14351 downcast_call_tag<updateVideoPublished> type_tag;
14352 func(type_tag);
14353 } else {
14354 func(static_cast<updateVideoPublished &>(*obj));
14355 }
14356 return true;
14357 case updateNewChat::ID:
14358 if constexpr (AllowTag) {
14359 downcast_call_tag<updateNewChat> type_tag;
14360 func(type_tag);
14361 } else {
14362 func(static_cast<updateNewChat &>(*obj));
14363 }
14364 return true;
14365 case updateChatTitle::ID:
14366 if constexpr (AllowTag) {
14367 downcast_call_tag<updateChatTitle> type_tag;
14368 func(type_tag);
14369 } else {
14370 func(static_cast<updateChatTitle &>(*obj));
14371 }
14372 return true;
14373 case updateChatPhoto::ID:
14374 if constexpr (AllowTag) {
14375 downcast_call_tag<updateChatPhoto> type_tag;
14376 func(type_tag);
14377 } else {
14378 func(static_cast<updateChatPhoto &>(*obj));
14379 }
14380 return true;
14381 case updateChatAccentColors::ID:
14382 if constexpr (AllowTag) {
14383 downcast_call_tag<updateChatAccentColors> type_tag;
14384 func(type_tag);
14385 } else {
14386 func(static_cast<updateChatAccentColors &>(*obj));
14387 }
14388 return true;
14389 case updateChatPermissions::ID:
14390 if constexpr (AllowTag) {
14391 downcast_call_tag<updateChatPermissions> type_tag;
14392 func(type_tag);
14393 } else {
14394 func(static_cast<updateChatPermissions &>(*obj));
14395 }
14396 return true;
14397 case updateChatLastMessage::ID:
14398 if constexpr (AllowTag) {
14399 downcast_call_tag<updateChatLastMessage> type_tag;
14400 func(type_tag);
14401 } else {
14402 func(static_cast<updateChatLastMessage &>(*obj));
14403 }
14404 return true;
14405 case updateChatPosition::ID:
14406 if constexpr (AllowTag) {
14407 downcast_call_tag<updateChatPosition> type_tag;
14408 func(type_tag);
14409 } else {
14410 func(static_cast<updateChatPosition &>(*obj));
14411 }
14412 return true;
14413 case updateChatAddedToList::ID:
14414 if constexpr (AllowTag) {
14415 downcast_call_tag<updateChatAddedToList> type_tag;
14416 func(type_tag);
14417 } else {
14418 func(static_cast<updateChatAddedToList &>(*obj));
14419 }
14420 return true;
14421 case updateChatRemovedFromList::ID:
14422 if constexpr (AllowTag) {
14423 downcast_call_tag<updateChatRemovedFromList> type_tag;
14424 func(type_tag);
14425 } else {
14426 func(static_cast<updateChatRemovedFromList &>(*obj));
14427 }
14428 return true;
14429 case updateChatReadInbox::ID:
14430 if constexpr (AllowTag) {
14431 downcast_call_tag<updateChatReadInbox> type_tag;
14432 func(type_tag);
14433 } else {
14434 func(static_cast<updateChatReadInbox &>(*obj));
14435 }
14436 return true;
14437 case updateChatReadOutbox::ID:
14438 if constexpr (AllowTag) {
14439 downcast_call_tag<updateChatReadOutbox> type_tag;
14440 func(type_tag);
14441 } else {
14442 func(static_cast<updateChatReadOutbox &>(*obj));
14443 }
14444 return true;
14445 case updateChatActionBar::ID:
14446 if constexpr (AllowTag) {
14447 downcast_call_tag<updateChatActionBar> type_tag;
14448 func(type_tag);
14449 } else {
14450 func(static_cast<updateChatActionBar &>(*obj));
14451 }
14452 return true;
14453 case updateChatBusinessBotManageBar::ID:
14454 if constexpr (AllowTag) {
14455 downcast_call_tag<updateChatBusinessBotManageBar> type_tag;
14456 func(type_tag);
14457 } else {
14458 func(static_cast<updateChatBusinessBotManageBar &>(*obj));
14459 }
14460 return true;
14461 case updateChatAvailableReactions::ID:
14462 if constexpr (AllowTag) {
14463 downcast_call_tag<updateChatAvailableReactions> type_tag;
14464 func(type_tag);
14465 } else {
14466 func(static_cast<updateChatAvailableReactions &>(*obj));
14467 }
14468 return true;
14469 case updateChatDraftMessage::ID:
14470 if constexpr (AllowTag) {
14471 downcast_call_tag<updateChatDraftMessage> type_tag;
14472 func(type_tag);
14473 } else {
14474 func(static_cast<updateChatDraftMessage &>(*obj));
14475 }
14476 return true;
14477 case updateChatEmojiStatus::ID:
14478 if constexpr (AllowTag) {
14479 downcast_call_tag<updateChatEmojiStatus> type_tag;
14480 func(type_tag);
14481 } else {
14482 func(static_cast<updateChatEmojiStatus &>(*obj));
14483 }
14484 return true;
14485 case updateChatMessageSender::ID:
14486 if constexpr (AllowTag) {
14487 downcast_call_tag<updateChatMessageSender> type_tag;
14488 func(type_tag);
14489 } else {
14490 func(static_cast<updateChatMessageSender &>(*obj));
14491 }
14492 return true;
14493 case updateChatMessageAutoDeleteTime::ID:
14494 if constexpr (AllowTag) {
14495 downcast_call_tag<updateChatMessageAutoDeleteTime> type_tag;
14496 func(type_tag);
14497 } else {
14498 func(static_cast<updateChatMessageAutoDeleteTime &>(*obj));
14499 }
14500 return true;
14501 case updateChatNotificationSettings::ID:
14502 if constexpr (AllowTag) {
14503 downcast_call_tag<updateChatNotificationSettings> type_tag;
14504 func(type_tag);
14505 } else {
14506 func(static_cast<updateChatNotificationSettings &>(*obj));
14507 }
14508 return true;
14509 case updateChatPendingJoinRequests::ID:
14510 if constexpr (AllowTag) {
14511 downcast_call_tag<updateChatPendingJoinRequests> type_tag;
14512 func(type_tag);
14513 } else {
14514 func(static_cast<updateChatPendingJoinRequests &>(*obj));
14515 }
14516 return true;
14517 case updateChatReplyMarkup::ID:
14518 if constexpr (AllowTag) {
14519 downcast_call_tag<updateChatReplyMarkup> type_tag;
14520 func(type_tag);
14521 } else {
14522 func(static_cast<updateChatReplyMarkup &>(*obj));
14523 }
14524 return true;
14525 case updateChatBackground::ID:
14526 if constexpr (AllowTag) {
14527 downcast_call_tag<updateChatBackground> type_tag;
14528 func(type_tag);
14529 } else {
14530 func(static_cast<updateChatBackground &>(*obj));
14531 }
14532 return true;
14533 case updateChatTheme::ID:
14534 if constexpr (AllowTag) {
14535 downcast_call_tag<updateChatTheme> type_tag;
14536 func(type_tag);
14537 } else {
14538 func(static_cast<updateChatTheme &>(*obj));
14539 }
14540 return true;
14541 case updateChatUnreadMentionCount::ID:
14542 if constexpr (AllowTag) {
14543 downcast_call_tag<updateChatUnreadMentionCount> type_tag;
14544 func(type_tag);
14545 } else {
14546 func(static_cast<updateChatUnreadMentionCount &>(*obj));
14547 }
14548 return true;
14549 case updateChatUnreadReactionCount::ID:
14550 if constexpr (AllowTag) {
14551 downcast_call_tag<updateChatUnreadReactionCount> type_tag;
14552 func(type_tag);
14553 } else {
14554 func(static_cast<updateChatUnreadReactionCount &>(*obj));
14555 }
14556 return true;
14557 case updateChatUnreadPollVoteCount::ID:
14558 if constexpr (AllowTag) {
14559 downcast_call_tag<updateChatUnreadPollVoteCount> type_tag;
14560 func(type_tag);
14561 } else {
14562 func(static_cast<updateChatUnreadPollVoteCount &>(*obj));
14563 }
14564 return true;
14565 case updateChatVideoChat::ID:
14566 if constexpr (AllowTag) {
14567 downcast_call_tag<updateChatVideoChat> type_tag;
14568 func(type_tag);
14569 } else {
14570 func(static_cast<updateChatVideoChat &>(*obj));
14571 }
14572 return true;
14573 case updateChatDefaultDisableNotification::ID:
14574 if constexpr (AllowTag) {
14575 downcast_call_tag<updateChatDefaultDisableNotification> type_tag;
14576 func(type_tag);
14577 } else {
14578 func(static_cast<updateChatDefaultDisableNotification &>(*obj));
14579 }
14580 return true;
14581 case updateChatHasProtectedContent::ID:
14582 if constexpr (AllowTag) {
14583 downcast_call_tag<updateChatHasProtectedContent> type_tag;
14584 func(type_tag);
14585 } else {
14586 func(static_cast<updateChatHasProtectedContent &>(*obj));
14587 }
14588 return true;
14589 case updateChatIsTranslatable::ID:
14590 if constexpr (AllowTag) {
14591 downcast_call_tag<updateChatIsTranslatable> type_tag;
14592 func(type_tag);
14593 } else {
14594 func(static_cast<updateChatIsTranslatable &>(*obj));
14595 }
14596 return true;
14597 case updateChatIsMarkedAsUnread::ID:
14598 if constexpr (AllowTag) {
14599 downcast_call_tag<updateChatIsMarkedAsUnread> type_tag;
14600 func(type_tag);
14601 } else {
14602 func(static_cast<updateChatIsMarkedAsUnread &>(*obj));
14603 }
14604 return true;
14605 case updateChatViewAsTopics::ID:
14606 if constexpr (AllowTag) {
14607 downcast_call_tag<updateChatViewAsTopics> type_tag;
14608 func(type_tag);
14609 } else {
14610 func(static_cast<updateChatViewAsTopics &>(*obj));
14611 }
14612 return true;
14613 case updateChatBlockList::ID:
14614 if constexpr (AllowTag) {
14615 downcast_call_tag<updateChatBlockList> type_tag;
14616 func(type_tag);
14617 } else {
14618 func(static_cast<updateChatBlockList &>(*obj));
14619 }
14620 return true;
14621 case updateChatHasScheduledMessages::ID:
14622 if constexpr (AllowTag) {
14623 downcast_call_tag<updateChatHasScheduledMessages> type_tag;
14624 func(type_tag);
14625 } else {
14626 func(static_cast<updateChatHasScheduledMessages &>(*obj));
14627 }
14628 return true;
14629 case updateChatFolders::ID:
14630 if constexpr (AllowTag) {
14631 downcast_call_tag<updateChatFolders> type_tag;
14632 func(type_tag);
14633 } else {
14634 func(static_cast<updateChatFolders &>(*obj));
14635 }
14636 return true;
14637 case updateChatOnlineMemberCount::ID:
14638 if constexpr (AllowTag) {
14639 downcast_call_tag<updateChatOnlineMemberCount> type_tag;
14640 func(type_tag);
14641 } else {
14642 func(static_cast<updateChatOnlineMemberCount &>(*obj));
14643 }
14644 return true;
14645 case updateSavedMessagesTopic::ID:
14646 if constexpr (AllowTag) {
14647 downcast_call_tag<updateSavedMessagesTopic> type_tag;
14648 func(type_tag);
14649 } else {
14650 func(static_cast<updateSavedMessagesTopic &>(*obj));
14651 }
14652 return true;
14653 case updateSavedMessagesTopicCount::ID:
14654 if constexpr (AllowTag) {
14655 downcast_call_tag<updateSavedMessagesTopicCount> type_tag;
14656 func(type_tag);
14657 } else {
14658 func(static_cast<updateSavedMessagesTopicCount &>(*obj));
14659 }
14660 return true;
14661 case updateDirectMessagesChatTopic::ID:
14662 if constexpr (AllowTag) {
14663 downcast_call_tag<updateDirectMessagesChatTopic> type_tag;
14664 func(type_tag);
14665 } else {
14666 func(static_cast<updateDirectMessagesChatTopic &>(*obj));
14667 }
14668 return true;
14669 case updateTopicMessageCount::ID:
14670 if constexpr (AllowTag) {
14671 downcast_call_tag<updateTopicMessageCount> type_tag;
14672 func(type_tag);
14673 } else {
14674 func(static_cast<updateTopicMessageCount &>(*obj));
14675 }
14676 return true;
14677 case updateQuickReplyShortcut::ID:
14678 if constexpr (AllowTag) {
14679 downcast_call_tag<updateQuickReplyShortcut> type_tag;
14680 func(type_tag);
14681 } else {
14682 func(static_cast<updateQuickReplyShortcut &>(*obj));
14683 }
14684 return true;
14685 case updateQuickReplyShortcutDeleted::ID:
14686 if constexpr (AllowTag) {
14687 downcast_call_tag<updateQuickReplyShortcutDeleted> type_tag;
14688 func(type_tag);
14689 } else {
14690 func(static_cast<updateQuickReplyShortcutDeleted &>(*obj));
14691 }
14692 return true;
14693 case updateQuickReplyShortcuts::ID:
14694 if constexpr (AllowTag) {
14695 downcast_call_tag<updateQuickReplyShortcuts> type_tag;
14696 func(type_tag);
14697 } else {
14698 func(static_cast<updateQuickReplyShortcuts &>(*obj));
14699 }
14700 return true;
14701 case updateQuickReplyShortcutMessages::ID:
14702 if constexpr (AllowTag) {
14703 downcast_call_tag<updateQuickReplyShortcutMessages> type_tag;
14704 func(type_tag);
14705 } else {
14706 func(static_cast<updateQuickReplyShortcutMessages &>(*obj));
14707 }
14708 return true;
14709 case updateForumTopicInfo::ID:
14710 if constexpr (AllowTag) {
14711 downcast_call_tag<updateForumTopicInfo> type_tag;
14712 func(type_tag);
14713 } else {
14714 func(static_cast<updateForumTopicInfo &>(*obj));
14715 }
14716 return true;
14717 case updateForumTopic::ID:
14718 if constexpr (AllowTag) {
14719 downcast_call_tag<updateForumTopic> type_tag;
14720 func(type_tag);
14721 } else {
14722 func(static_cast<updateForumTopic &>(*obj));
14723 }
14724 return true;
14725 case updateScopeNotificationSettings::ID:
14726 if constexpr (AllowTag) {
14727 downcast_call_tag<updateScopeNotificationSettings> type_tag;
14728 func(type_tag);
14729 } else {
14730 func(static_cast<updateScopeNotificationSettings &>(*obj));
14731 }
14732 return true;
14733 case updateReactionNotificationSettings::ID:
14734 if constexpr (AllowTag) {
14735 downcast_call_tag<updateReactionNotificationSettings> type_tag;
14736 func(type_tag);
14737 } else {
14738 func(static_cast<updateReactionNotificationSettings &>(*obj));
14739 }
14740 return true;
14741 case updateNotification::ID:
14742 if constexpr (AllowTag) {
14743 downcast_call_tag<updateNotification> type_tag;
14744 func(type_tag);
14745 } else {
14746 func(static_cast<updateNotification &>(*obj));
14747 }
14748 return true;
14749 case updateNotificationGroup::ID:
14750 if constexpr (AllowTag) {
14751 downcast_call_tag<updateNotificationGroup> type_tag;
14752 func(type_tag);
14753 } else {
14754 func(static_cast<updateNotificationGroup &>(*obj));
14755 }
14756 return true;
14757 case updateActiveNotifications::ID:
14758 if constexpr (AllowTag) {
14759 downcast_call_tag<updateActiveNotifications> type_tag;
14760 func(type_tag);
14761 } else {
14762 func(static_cast<updateActiveNotifications &>(*obj));
14763 }
14764 return true;
14765 case updateHavePendingNotifications::ID:
14766 if constexpr (AllowTag) {
14767 downcast_call_tag<updateHavePendingNotifications> type_tag;
14768 func(type_tag);
14769 } else {
14770 func(static_cast<updateHavePendingNotifications &>(*obj));
14771 }
14772 return true;
14773 case updateDeleteMessages::ID:
14774 if constexpr (AllowTag) {
14775 downcast_call_tag<updateDeleteMessages> type_tag;
14776 func(type_tag);
14777 } else {
14778 func(static_cast<updateDeleteMessages &>(*obj));
14779 }
14780 return true;
14781 case updateChatAction::ID:
14782 if constexpr (AllowTag) {
14783 downcast_call_tag<updateChatAction> type_tag;
14784 func(type_tag);
14785 } else {
14786 func(static_cast<updateChatAction &>(*obj));
14787 }
14788 return true;
14789 case updatePendingTextMessage::ID:
14790 if constexpr (AllowTag) {
14791 downcast_call_tag<updatePendingTextMessage> type_tag;
14792 func(type_tag);
14793 } else {
14794 func(static_cast<updatePendingTextMessage &>(*obj));
14795 }
14796 return true;
14797 case updateUserStatus::ID:
14798 if constexpr (AllowTag) {
14799 downcast_call_tag<updateUserStatus> type_tag;
14800 func(type_tag);
14801 } else {
14802 func(static_cast<updateUserStatus &>(*obj));
14803 }
14804 return true;
14805 case updateUser::ID:
14806 if constexpr (AllowTag) {
14807 downcast_call_tag<updateUser> type_tag;
14808 func(type_tag);
14809 } else {
14810 func(static_cast<updateUser &>(*obj));
14811 }
14812 return true;
14813 case updateBasicGroup::ID:
14814 if constexpr (AllowTag) {
14815 downcast_call_tag<updateBasicGroup> type_tag;
14816 func(type_tag);
14817 } else {
14818 func(static_cast<updateBasicGroup &>(*obj));
14819 }
14820 return true;
14821 case updateSupergroup::ID:
14822 if constexpr (AllowTag) {
14823 downcast_call_tag<updateSupergroup> type_tag;
14824 func(type_tag);
14825 } else {
14826 func(static_cast<updateSupergroup &>(*obj));
14827 }
14828 return true;
14829 case updateSecretChat::ID:
14830 if constexpr (AllowTag) {
14831 downcast_call_tag<updateSecretChat> type_tag;
14832 func(type_tag);
14833 } else {
14834 func(static_cast<updateSecretChat &>(*obj));
14835 }
14836 return true;
14837 case updateUserFullInfo::ID:
14838 if constexpr (AllowTag) {
14839 downcast_call_tag<updateUserFullInfo> type_tag;
14840 func(type_tag);
14841 } else {
14842 func(static_cast<updateUserFullInfo &>(*obj));
14843 }
14844 return true;
14845 case updateBasicGroupFullInfo::ID:
14846 if constexpr (AllowTag) {
14847 downcast_call_tag<updateBasicGroupFullInfo> type_tag;
14848 func(type_tag);
14849 } else {
14850 func(static_cast<updateBasicGroupFullInfo &>(*obj));
14851 }
14852 return true;
14853 case updateSupergroupFullInfo::ID:
14854 if constexpr (AllowTag) {
14855 downcast_call_tag<updateSupergroupFullInfo> type_tag;
14856 func(type_tag);
14857 } else {
14858 func(static_cast<updateSupergroupFullInfo &>(*obj));
14859 }
14860 return true;
14861 case updateServiceNotification::ID:
14862 if constexpr (AllowTag) {
14863 downcast_call_tag<updateServiceNotification> type_tag;
14864 func(type_tag);
14865 } else {
14866 func(static_cast<updateServiceNotification &>(*obj));
14867 }
14868 return true;
14869 case updateNewOauthRequest::ID:
14870 if constexpr (AllowTag) {
14871 downcast_call_tag<updateNewOauthRequest> type_tag;
14872 func(type_tag);
14873 } else {
14874 func(static_cast<updateNewOauthRequest &>(*obj));
14875 }
14876 return true;
14877 case updateFile::ID:
14878 if constexpr (AllowTag) {
14879 downcast_call_tag<updateFile> type_tag;
14880 func(type_tag);
14881 } else {
14882 func(static_cast<updateFile &>(*obj));
14883 }
14884 return true;
14885 case updateFileGenerationStart::ID:
14886 if constexpr (AllowTag) {
14887 downcast_call_tag<updateFileGenerationStart> type_tag;
14888 func(type_tag);
14889 } else {
14890 func(static_cast<updateFileGenerationStart &>(*obj));
14891 }
14892 return true;
14893 case updateFileGenerationStop::ID:
14894 if constexpr (AllowTag) {
14895 downcast_call_tag<updateFileGenerationStop> type_tag;
14896 func(type_tag);
14897 } else {
14898 func(static_cast<updateFileGenerationStop &>(*obj));
14899 }
14900 return true;
14901 case updateFileDownloads::ID:
14902 if constexpr (AllowTag) {
14903 downcast_call_tag<updateFileDownloads> type_tag;
14904 func(type_tag);
14905 } else {
14906 func(static_cast<updateFileDownloads &>(*obj));
14907 }
14908 return true;
14909 case updateFileAddedToDownloads::ID:
14910 if constexpr (AllowTag) {
14911 downcast_call_tag<updateFileAddedToDownloads> type_tag;
14912 func(type_tag);
14913 } else {
14914 func(static_cast<updateFileAddedToDownloads &>(*obj));
14915 }
14916 return true;
14917 case updateFileDownload::ID:
14918 if constexpr (AllowTag) {
14919 downcast_call_tag<updateFileDownload> type_tag;
14920 func(type_tag);
14921 } else {
14922 func(static_cast<updateFileDownload &>(*obj));
14923 }
14924 return true;
14925 case updateFileRemovedFromDownloads::ID:
14926 if constexpr (AllowTag) {
14927 downcast_call_tag<updateFileRemovedFromDownloads> type_tag;
14928 func(type_tag);
14929 } else {
14930 func(static_cast<updateFileRemovedFromDownloads &>(*obj));
14931 }
14932 return true;
14933 case updateApplicationVerificationRequired::ID:
14934 if constexpr (AllowTag) {
14935 downcast_call_tag<updateApplicationVerificationRequired> type_tag;
14936 func(type_tag);
14937 } else {
14938 func(static_cast<updateApplicationVerificationRequired &>(*obj));
14939 }
14940 return true;
14941 case updateApplicationRecaptchaVerificationRequired::ID:
14942 if constexpr (AllowTag) {
14943 downcast_call_tag<updateApplicationRecaptchaVerificationRequired> type_tag;
14944 func(type_tag);
14945 } else {
14946 func(static_cast<updateApplicationRecaptchaVerificationRequired &>(*obj));
14947 }
14948 return true;
14949 case updateCall::ID:
14950 if constexpr (AllowTag) {
14951 downcast_call_tag<updateCall> type_tag;
14952 func(type_tag);
14953 } else {
14954 func(static_cast<updateCall &>(*obj));
14955 }
14956 return true;
14957 case updateGroupCall::ID:
14958 if constexpr (AllowTag) {
14959 downcast_call_tag<updateGroupCall> type_tag;
14960 func(type_tag);
14961 } else {
14962 func(static_cast<updateGroupCall &>(*obj));
14963 }
14964 return true;
14965 case updateGroupCallParticipant::ID:
14966 if constexpr (AllowTag) {
14967 downcast_call_tag<updateGroupCallParticipant> type_tag;
14968 func(type_tag);
14969 } else {
14970 func(static_cast<updateGroupCallParticipant &>(*obj));
14971 }
14972 return true;
14973 case updateGroupCallParticipants::ID:
14974 if constexpr (AllowTag) {
14975 downcast_call_tag<updateGroupCallParticipants> type_tag;
14976 func(type_tag);
14977 } else {
14978 func(static_cast<updateGroupCallParticipants &>(*obj));
14979 }
14980 return true;
14981 case updateGroupCallVerificationState::ID:
14982 if constexpr (AllowTag) {
14983 downcast_call_tag<updateGroupCallVerificationState> type_tag;
14984 func(type_tag);
14985 } else {
14986 func(static_cast<updateGroupCallVerificationState &>(*obj));
14987 }
14988 return true;
14989 case updateNewGroupCallMessage::ID:
14990 if constexpr (AllowTag) {
14991 downcast_call_tag<updateNewGroupCallMessage> type_tag;
14992 func(type_tag);
14993 } else {
14994 func(static_cast<updateNewGroupCallMessage &>(*obj));
14995 }
14996 return true;
14997 case updateNewGroupCallPaidReaction::ID:
14998 if constexpr (AllowTag) {
14999 downcast_call_tag<updateNewGroupCallPaidReaction> type_tag;
15000 func(type_tag);
15001 } else {
15002 func(static_cast<updateNewGroupCallPaidReaction &>(*obj));
15003 }
15004 return true;
15005 case updateGroupCallMessageSendFailed::ID:
15006 if constexpr (AllowTag) {
15007 downcast_call_tag<updateGroupCallMessageSendFailed> type_tag;
15008 func(type_tag);
15009 } else {
15010 func(static_cast<updateGroupCallMessageSendFailed &>(*obj));
15011 }
15012 return true;
15013 case updateGroupCallMessagesDeleted::ID:
15014 if constexpr (AllowTag) {
15015 downcast_call_tag<updateGroupCallMessagesDeleted> type_tag;
15016 func(type_tag);
15017 } else {
15018 func(static_cast<updateGroupCallMessagesDeleted &>(*obj));
15019 }
15020 return true;
15021 case updateLiveStoryTopDonors::ID:
15022 if constexpr (AllowTag) {
15023 downcast_call_tag<updateLiveStoryTopDonors> type_tag;
15024 func(type_tag);
15025 } else {
15026 func(static_cast<updateLiveStoryTopDonors &>(*obj));
15027 }
15028 return true;
15029 case updateNewCallSignalingData::ID:
15030 if constexpr (AllowTag) {
15031 downcast_call_tag<updateNewCallSignalingData> type_tag;
15032 func(type_tag);
15033 } else {
15034 func(static_cast<updateNewCallSignalingData &>(*obj));
15035 }
15036 return true;
15037 case updateGiftAuctionState::ID:
15038 if constexpr (AllowTag) {
15039 downcast_call_tag<updateGiftAuctionState> type_tag;
15040 func(type_tag);
15041 } else {
15042 func(static_cast<updateGiftAuctionState &>(*obj));
15043 }
15044 return true;
15045 case updateActiveGiftAuctions::ID:
15046 if constexpr (AllowTag) {
15047 downcast_call_tag<updateActiveGiftAuctions> type_tag;
15048 func(type_tag);
15049 } else {
15050 func(static_cast<updateActiveGiftAuctions &>(*obj));
15051 }
15052 return true;
15053 case updateUserPrivacySettingRules::ID:
15054 if constexpr (AllowTag) {
15055 downcast_call_tag<updateUserPrivacySettingRules> type_tag;
15056 func(type_tag);
15057 } else {
15058 func(static_cast<updateUserPrivacySettingRules &>(*obj));
15059 }
15060 return true;
15061 case updateUnreadMessageCount::ID:
15062 if constexpr (AllowTag) {
15063 downcast_call_tag<updateUnreadMessageCount> type_tag;
15064 func(type_tag);
15065 } else {
15066 func(static_cast<updateUnreadMessageCount &>(*obj));
15067 }
15068 return true;
15069 case updateUnreadChatCount::ID:
15070 if constexpr (AllowTag) {
15071 downcast_call_tag<updateUnreadChatCount> type_tag;
15072 func(type_tag);
15073 } else {
15074 func(static_cast<updateUnreadChatCount &>(*obj));
15075 }
15076 return true;
15077 case updateStory::ID:
15078 if constexpr (AllowTag) {
15079 downcast_call_tag<updateStory> type_tag;
15080 func(type_tag);
15081 } else {
15082 func(static_cast<updateStory &>(*obj));
15083 }
15084 return true;
15085 case updateStoryDeleted::ID:
15086 if constexpr (AllowTag) {
15087 downcast_call_tag<updateStoryDeleted> type_tag;
15088 func(type_tag);
15089 } else {
15090 func(static_cast<updateStoryDeleted &>(*obj));
15091 }
15092 return true;
15093 case updateStoryPostSucceeded::ID:
15094 if constexpr (AllowTag) {
15095 downcast_call_tag<updateStoryPostSucceeded> type_tag;
15096 func(type_tag);
15097 } else {
15098 func(static_cast<updateStoryPostSucceeded &>(*obj));
15099 }
15100 return true;
15101 case updateStoryPostFailed::ID:
15102 if constexpr (AllowTag) {
15103 downcast_call_tag<updateStoryPostFailed> type_tag;
15104 func(type_tag);
15105 } else {
15106 func(static_cast<updateStoryPostFailed &>(*obj));
15107 }
15108 return true;
15109 case updateChatActiveStories::ID:
15110 if constexpr (AllowTag) {
15111 downcast_call_tag<updateChatActiveStories> type_tag;
15112 func(type_tag);
15113 } else {
15114 func(static_cast<updateChatActiveStories &>(*obj));
15115 }
15116 return true;
15117 case updateStoryListChatCount::ID:
15118 if constexpr (AllowTag) {
15119 downcast_call_tag<updateStoryListChatCount> type_tag;
15120 func(type_tag);
15121 } else {
15122 func(static_cast<updateStoryListChatCount &>(*obj));
15123 }
15124 return true;
15125 case updateStoryStealthMode::ID:
15126 if constexpr (AllowTag) {
15127 downcast_call_tag<updateStoryStealthMode> type_tag;
15128 func(type_tag);
15129 } else {
15130 func(static_cast<updateStoryStealthMode &>(*obj));
15131 }
15132 return true;
15133 case updateTrustedMiniAppBots::ID:
15134 if constexpr (AllowTag) {
15135 downcast_call_tag<updateTrustedMiniAppBots> type_tag;
15136 func(type_tag);
15137 } else {
15138 func(static_cast<updateTrustedMiniAppBots &>(*obj));
15139 }
15140 return true;
15141 case updateOption::ID:
15142 if constexpr (AllowTag) {
15143 downcast_call_tag<updateOption> type_tag;
15144 func(type_tag);
15145 } else {
15146 func(static_cast<updateOption &>(*obj));
15147 }
15148 return true;
15149 case updateStickerSet::ID:
15150 if constexpr (AllowTag) {
15151 downcast_call_tag<updateStickerSet> type_tag;
15152 func(type_tag);
15153 } else {
15154 func(static_cast<updateStickerSet &>(*obj));
15155 }
15156 return true;
15157 case updateInstalledStickerSets::ID:
15158 if constexpr (AllowTag) {
15159 downcast_call_tag<updateInstalledStickerSets> type_tag;
15160 func(type_tag);
15161 } else {
15162 func(static_cast<updateInstalledStickerSets &>(*obj));
15163 }
15164 return true;
15165 case updateTrendingStickerSets::ID:
15166 if constexpr (AllowTag) {
15167 downcast_call_tag<updateTrendingStickerSets> type_tag;
15168 func(type_tag);
15169 } else {
15170 func(static_cast<updateTrendingStickerSets &>(*obj));
15171 }
15172 return true;
15173 case updateRecentStickers::ID:
15174 if constexpr (AllowTag) {
15175 downcast_call_tag<updateRecentStickers> type_tag;
15176 func(type_tag);
15177 } else {
15178 func(static_cast<updateRecentStickers &>(*obj));
15179 }
15180 return true;
15181 case updateFavoriteStickers::ID:
15182 if constexpr (AllowTag) {
15183 downcast_call_tag<updateFavoriteStickers> type_tag;
15184 func(type_tag);
15185 } else {
15186 func(static_cast<updateFavoriteStickers &>(*obj));
15187 }
15188 return true;
15189 case updateSavedAnimations::ID:
15190 if constexpr (AllowTag) {
15191 downcast_call_tag<updateSavedAnimations> type_tag;
15192 func(type_tag);
15193 } else {
15194 func(static_cast<updateSavedAnimations &>(*obj));
15195 }
15196 return true;
15197 case updateSavedNotificationSounds::ID:
15198 if constexpr (AllowTag) {
15199 downcast_call_tag<updateSavedNotificationSounds> type_tag;
15200 func(type_tag);
15201 } else {
15202 func(static_cast<updateSavedNotificationSounds &>(*obj));
15203 }
15204 return true;
15205 case updateDefaultBackground::ID:
15206 if constexpr (AllowTag) {
15207 downcast_call_tag<updateDefaultBackground> type_tag;
15208 func(type_tag);
15209 } else {
15210 func(static_cast<updateDefaultBackground &>(*obj));
15211 }
15212 return true;
15213 case updateEmojiChatThemes::ID:
15214 if constexpr (AllowTag) {
15215 downcast_call_tag<updateEmojiChatThemes> type_tag;
15216 func(type_tag);
15217 } else {
15218 func(static_cast<updateEmojiChatThemes &>(*obj));
15219 }
15220 return true;
15221 case updateAccentColors::ID:
15222 if constexpr (AllowTag) {
15223 downcast_call_tag<updateAccentColors> type_tag;
15224 func(type_tag);
15225 } else {
15226 func(static_cast<updateAccentColors &>(*obj));
15227 }
15228 return true;
15229 case updateProfileAccentColors::ID:
15230 if constexpr (AllowTag) {
15231 downcast_call_tag<updateProfileAccentColors> type_tag;
15232 func(type_tag);
15233 } else {
15234 func(static_cast<updateProfileAccentColors &>(*obj));
15235 }
15236 return true;
15237 case updateLanguagePackStrings::ID:
15238 if constexpr (AllowTag) {
15239 downcast_call_tag<updateLanguagePackStrings> type_tag;
15240 func(type_tag);
15241 } else {
15242 func(static_cast<updateLanguagePackStrings &>(*obj));
15243 }
15244 return true;
15245 case updateConnectionState::ID:
15246 if constexpr (AllowTag) {
15247 downcast_call_tag<updateConnectionState> type_tag;
15248 func(type_tag);
15249 } else {
15250 func(static_cast<updateConnectionState &>(*obj));
15251 }
15252 return true;
15253 case updateFreezeState::ID:
15254 if constexpr (AllowTag) {
15255 downcast_call_tag<updateFreezeState> type_tag;
15256 func(type_tag);
15257 } else {
15258 func(static_cast<updateFreezeState &>(*obj));
15259 }
15260 return true;
15261 case updateAgeVerificationParameters::ID:
15262 if constexpr (AllowTag) {
15263 downcast_call_tag<updateAgeVerificationParameters> type_tag;
15264 func(type_tag);
15265 } else {
15266 func(static_cast<updateAgeVerificationParameters &>(*obj));
15267 }
15268 return true;
15269 case updateTermsOfService::ID:
15270 if constexpr (AllowTag) {
15271 downcast_call_tag<updateTermsOfService> type_tag;
15272 func(type_tag);
15273 } else {
15274 func(static_cast<updateTermsOfService &>(*obj));
15275 }
15276 return true;
15277 case updateUnconfirmedSession::ID:
15278 if constexpr (AllowTag) {
15279 downcast_call_tag<updateUnconfirmedSession> type_tag;
15280 func(type_tag);
15281 } else {
15282 func(static_cast<updateUnconfirmedSession &>(*obj));
15283 }
15284 return true;
15285 case updateAttachmentMenuBots::ID:
15286 if constexpr (AllowTag) {
15287 downcast_call_tag<updateAttachmentMenuBots> type_tag;
15288 func(type_tag);
15289 } else {
15290 func(static_cast<updateAttachmentMenuBots &>(*obj));
15291 }
15292 return true;
15293 case updateWebAppMessageSent::ID:
15294 if constexpr (AllowTag) {
15295 downcast_call_tag<updateWebAppMessageSent> type_tag;
15296 func(type_tag);
15297 } else {
15298 func(static_cast<updateWebAppMessageSent &>(*obj));
15299 }
15300 return true;
15301 case updateActiveEmojiReactions::ID:
15302 if constexpr (AllowTag) {
15303 downcast_call_tag<updateActiveEmojiReactions> type_tag;
15304 func(type_tag);
15305 } else {
15306 func(static_cast<updateActiveEmojiReactions &>(*obj));
15307 }
15308 return true;
15309 case updateAvailableMessageEffects::ID:
15310 if constexpr (AllowTag) {
15311 downcast_call_tag<updateAvailableMessageEffects> type_tag;
15312 func(type_tag);
15313 } else {
15314 func(static_cast<updateAvailableMessageEffects &>(*obj));
15315 }
15316 return true;
15317 case updateDefaultReactionType::ID:
15318 if constexpr (AllowTag) {
15319 downcast_call_tag<updateDefaultReactionType> type_tag;
15320 func(type_tag);
15321 } else {
15322 func(static_cast<updateDefaultReactionType &>(*obj));
15323 }
15324 return true;
15325 case updateDefaultPaidReactionType::ID:
15326 if constexpr (AllowTag) {
15327 downcast_call_tag<updateDefaultPaidReactionType> type_tag;
15328 func(type_tag);
15329 } else {
15330 func(static_cast<updateDefaultPaidReactionType &>(*obj));
15331 }
15332 return true;
15333 case updateSavedMessagesTags::ID:
15334 if constexpr (AllowTag) {
15335 downcast_call_tag<updateSavedMessagesTags> type_tag;
15336 func(type_tag);
15337 } else {
15338 func(static_cast<updateSavedMessagesTags &>(*obj));
15339 }
15340 return true;
15341 case updateActiveLiveLocationMessages::ID:
15342 if constexpr (AllowTag) {
15343 downcast_call_tag<updateActiveLiveLocationMessages> type_tag;
15344 func(type_tag);
15345 } else {
15346 func(static_cast<updateActiveLiveLocationMessages &>(*obj));
15347 }
15348 return true;
15349 case updateOwnedStarCount::ID:
15350 if constexpr (AllowTag) {
15351 downcast_call_tag<updateOwnedStarCount> type_tag;
15352 func(type_tag);
15353 } else {
15354 func(static_cast<updateOwnedStarCount &>(*obj));
15355 }
15356 return true;
15357 case updateOwnedTonCount::ID:
15358 if constexpr (AllowTag) {
15359 downcast_call_tag<updateOwnedTonCount> type_tag;
15360 func(type_tag);
15361 } else {
15362 func(static_cast<updateOwnedTonCount &>(*obj));
15363 }
15364 return true;
15365 case updateChatRevenueAmount::ID:
15366 if constexpr (AllowTag) {
15367 downcast_call_tag<updateChatRevenueAmount> type_tag;
15368 func(type_tag);
15369 } else {
15370 func(static_cast<updateChatRevenueAmount &>(*obj));
15371 }
15372 return true;
15373 case updateStarRevenueStatus::ID:
15374 if constexpr (AllowTag) {
15375 downcast_call_tag<updateStarRevenueStatus> type_tag;
15376 func(type_tag);
15377 } else {
15378 func(static_cast<updateStarRevenueStatus &>(*obj));
15379 }
15380 return true;
15381 case updateTonRevenueStatus::ID:
15382 if constexpr (AllowTag) {
15383 downcast_call_tag<updateTonRevenueStatus> type_tag;
15384 func(type_tag);
15385 } else {
15386 func(static_cast<updateTonRevenueStatus &>(*obj));
15387 }
15388 return true;
15389 case updateSpeechRecognitionTrial::ID:
15390 if constexpr (AllowTag) {
15391 downcast_call_tag<updateSpeechRecognitionTrial> type_tag;
15392 func(type_tag);
15393 } else {
15394 func(static_cast<updateSpeechRecognitionTrial &>(*obj));
15395 }
15396 return true;
15397 case updateGroupCallMessageLevels::ID:
15398 if constexpr (AllowTag) {
15399 downcast_call_tag<updateGroupCallMessageLevels> type_tag;
15400 func(type_tag);
15401 } else {
15402 func(static_cast<updateGroupCallMessageLevels &>(*obj));
15403 }
15404 return true;
15405 case updateDiceEmojis::ID:
15406 if constexpr (AllowTag) {
15407 downcast_call_tag<updateDiceEmojis> type_tag;
15408 func(type_tag);
15409 } else {
15410 func(static_cast<updateDiceEmojis &>(*obj));
15411 }
15412 return true;
15413 case updateStakeDiceState::ID:
15414 if constexpr (AllowTag) {
15415 downcast_call_tag<updateStakeDiceState> type_tag;
15416 func(type_tag);
15417 } else {
15418 func(static_cast<updateStakeDiceState &>(*obj));
15419 }
15420 return true;
15421 case updateAnimatedEmojiMessageClicked::ID:
15422 if constexpr (AllowTag) {
15423 downcast_call_tag<updateAnimatedEmojiMessageClicked> type_tag;
15424 func(type_tag);
15425 } else {
15426 func(static_cast<updateAnimatedEmojiMessageClicked &>(*obj));
15427 }
15428 return true;
15429 case updateAnimationSearchParameters::ID:
15430 if constexpr (AllowTag) {
15431 downcast_call_tag<updateAnimationSearchParameters> type_tag;
15432 func(type_tag);
15433 } else {
15434 func(static_cast<updateAnimationSearchParameters &>(*obj));
15435 }
15436 return true;
15437 case updateTextCompositionStyles::ID:
15438 if constexpr (AllowTag) {
15439 downcast_call_tag<updateTextCompositionStyles> type_tag;
15440 func(type_tag);
15441 } else {
15442 func(static_cast<updateTextCompositionStyles &>(*obj));
15443 }
15444 return true;
15445 case updateSuggestedActions::ID:
15446 if constexpr (AllowTag) {
15447 downcast_call_tag<updateSuggestedActions> type_tag;
15448 func(type_tag);
15449 } else {
15450 func(static_cast<updateSuggestedActions &>(*obj));
15451 }
15452 return true;
15453 case updateSpeedLimitNotification::ID:
15454 if constexpr (AllowTag) {
15455 downcast_call_tag<updateSpeedLimitNotification> type_tag;
15456 func(type_tag);
15457 } else {
15458 func(static_cast<updateSpeedLimitNotification &>(*obj));
15459 }
15460 return true;
15461 case updateContactCloseBirthdays::ID:
15462 if constexpr (AllowTag) {
15463 downcast_call_tag<updateContactCloseBirthdays> type_tag;
15464 func(type_tag);
15465 } else {
15466 func(static_cast<updateContactCloseBirthdays &>(*obj));
15467 }
15468 return true;
15469 case updateAutosaveSettings::ID:
15470 if constexpr (AllowTag) {
15471 downcast_call_tag<updateAutosaveSettings> type_tag;
15472 func(type_tag);
15473 } else {
15474 func(static_cast<updateAutosaveSettings &>(*obj));
15475 }
15476 return true;
15477 case updateBusinessConnection::ID:
15478 if constexpr (AllowTag) {
15479 downcast_call_tag<updateBusinessConnection> type_tag;
15480 func(type_tag);
15481 } else {
15482 func(static_cast<updateBusinessConnection &>(*obj));
15483 }
15484 return true;
15485 case updateNewBusinessMessage::ID:
15486 if constexpr (AllowTag) {
15487 downcast_call_tag<updateNewBusinessMessage> type_tag;
15488 func(type_tag);
15489 } else {
15490 func(static_cast<updateNewBusinessMessage &>(*obj));
15491 }
15492 return true;
15493 case updateBusinessMessageEdited::ID:
15494 if constexpr (AllowTag) {
15495 downcast_call_tag<updateBusinessMessageEdited> type_tag;
15496 func(type_tag);
15497 } else {
15498 func(static_cast<updateBusinessMessageEdited &>(*obj));
15499 }
15500 return true;
15501 case updateBusinessMessagesDeleted::ID:
15502 if constexpr (AllowTag) {
15503 downcast_call_tag<updateBusinessMessagesDeleted> type_tag;
15504 func(type_tag);
15505 } else {
15506 func(static_cast<updateBusinessMessagesDeleted &>(*obj));
15507 }
15508 return true;
15509 case updateNewInlineQuery::ID:
15510 if constexpr (AllowTag) {
15511 downcast_call_tag<updateNewInlineQuery> type_tag;
15512 func(type_tag);
15513 } else {
15514 func(static_cast<updateNewInlineQuery &>(*obj));
15515 }
15516 return true;
15517 case updateNewGuestQuery::ID:
15518 if constexpr (AllowTag) {
15519 downcast_call_tag<updateNewGuestQuery> type_tag;
15520 func(type_tag);
15521 } else {
15522 func(static_cast<updateNewGuestQuery &>(*obj));
15523 }
15524 return true;
15525 case updateNewChosenInlineResult::ID:
15526 if constexpr (AllowTag) {
15527 downcast_call_tag<updateNewChosenInlineResult> type_tag;
15528 func(type_tag);
15529 } else {
15530 func(static_cast<updateNewChosenInlineResult &>(*obj));
15531 }
15532 return true;
15533 case updateNewCallbackQuery::ID:
15534 if constexpr (AllowTag) {
15535 downcast_call_tag<updateNewCallbackQuery> type_tag;
15536 func(type_tag);
15537 } else {
15538 func(static_cast<updateNewCallbackQuery &>(*obj));
15539 }
15540 return true;
15541 case updateNewInlineCallbackQuery::ID:
15542 if constexpr (AllowTag) {
15543 downcast_call_tag<updateNewInlineCallbackQuery> type_tag;
15544 func(type_tag);
15545 } else {
15546 func(static_cast<updateNewInlineCallbackQuery &>(*obj));
15547 }
15548 return true;
15549 case updateNewBusinessCallbackQuery::ID:
15550 if constexpr (AllowTag) {
15551 downcast_call_tag<updateNewBusinessCallbackQuery> type_tag;
15552 func(type_tag);
15553 } else {
15554 func(static_cast<updateNewBusinessCallbackQuery &>(*obj));
15555 }
15556 return true;
15557 case updateNewShippingQuery::ID:
15558 if constexpr (AllowTag) {
15559 downcast_call_tag<updateNewShippingQuery> type_tag;
15560 func(type_tag);
15561 } else {
15562 func(static_cast<updateNewShippingQuery &>(*obj));
15563 }
15564 return true;
15565 case updateNewPreCheckoutQuery::ID:
15566 if constexpr (AllowTag) {
15567 downcast_call_tag<updateNewPreCheckoutQuery> type_tag;
15568 func(type_tag);
15569 } else {
15570 func(static_cast<updateNewPreCheckoutQuery &>(*obj));
15571 }
15572 return true;
15573 case updateNewCustomEvent::ID:
15574 if constexpr (AllowTag) {
15575 downcast_call_tag<updateNewCustomEvent> type_tag;
15576 func(type_tag);
15577 } else {
15578 func(static_cast<updateNewCustomEvent &>(*obj));
15579 }
15580 return true;
15581 case updateNewCustomQuery::ID:
15582 if constexpr (AllowTag) {
15583 downcast_call_tag<updateNewCustomQuery> type_tag;
15584 func(type_tag);
15585 } else {
15586 func(static_cast<updateNewCustomQuery &>(*obj));
15587 }
15588 return true;
15589 case updatePoll::ID:
15590 if constexpr (AllowTag) {
15591 downcast_call_tag<updatePoll> type_tag;
15592 func(type_tag);
15593 } else {
15594 func(static_cast<updatePoll &>(*obj));
15595 }
15596 return true;
15597 case updatePollAnswer::ID:
15598 if constexpr (AllowTag) {
15599 downcast_call_tag<updatePollAnswer> type_tag;
15600 func(type_tag);
15601 } else {
15602 func(static_cast<updatePollAnswer &>(*obj));
15603 }
15604 return true;
15605 case updateManagedBot::ID:
15606 if constexpr (AllowTag) {
15607 downcast_call_tag<updateManagedBot> type_tag;
15608 func(type_tag);
15609 } else {
15610 func(static_cast<updateManagedBot &>(*obj));
15611 }
15612 return true;
15613 case updateChatMember::ID:
15614 if constexpr (AllowTag) {
15615 downcast_call_tag<updateChatMember> type_tag;
15616 func(type_tag);
15617 } else {
15618 func(static_cast<updateChatMember &>(*obj));
15619 }
15620 return true;
15621 case updateNewChatJoinRequest::ID:
15622 if constexpr (AllowTag) {
15623 downcast_call_tag<updateNewChatJoinRequest> type_tag;
15624 func(type_tag);
15625 } else {
15626 func(static_cast<updateNewChatJoinRequest &>(*obj));
15627 }
15628 return true;
15629 case updateChatBoost::ID:
15630 if constexpr (AllowTag) {
15631 downcast_call_tag<updateChatBoost> type_tag;
15632 func(type_tag);
15633 } else {
15634 func(static_cast<updateChatBoost &>(*obj));
15635 }
15636 return true;
15637 case updateMessageReaction::ID:
15638 if constexpr (AllowTag) {
15639 downcast_call_tag<updateMessageReaction> type_tag;
15640 func(type_tag);
15641 } else {
15642 func(static_cast<updateMessageReaction &>(*obj));
15643 }
15644 return true;
15645 case updateMessageReactions::ID:
15646 if constexpr (AllowTag) {
15647 downcast_call_tag<updateMessageReactions> type_tag;
15648 func(type_tag);
15649 } else {
15650 func(static_cast<updateMessageReactions &>(*obj));
15651 }
15652 return true;
15653 case updatePaidMediaPurchased::ID:
15654 if constexpr (AllowTag) {
15655 downcast_call_tag<updatePaidMediaPurchased> type_tag;
15656 func(type_tag);
15657 } else {
15658 func(static_cast<updatePaidMediaPurchased &>(*obj));
15659 }
15660 return true;
15661 case updates::ID:
15662 if constexpr (AllowTag) {
15663 downcast_call_tag<updates> type_tag;
15664 func(type_tag);
15665 } else {
15666 func(static_cast<updates &>(*obj));
15667 }
15668 return true;
15669 case upgradeGiftResult::ID:
15670 if constexpr (AllowTag) {
15671 downcast_call_tag<upgradeGiftResult> type_tag;
15672 func(type_tag);
15673 } else {
15674 func(static_cast<upgradeGiftResult &>(*obj));
15675 }
15676 return true;
15677 case upgradedGift::ID:
15678 if constexpr (AllowTag) {
15679 downcast_call_tag<upgradedGift> type_tag;
15680 func(type_tag);
15681 } else {
15682 func(static_cast<upgradedGift &>(*obj));
15683 }
15684 return true;
15685 case upgradedGiftAttributeIdModel::ID:
15686 if constexpr (AllowTag) {
15687 downcast_call_tag<upgradedGiftAttributeIdModel> type_tag;
15688 func(type_tag);
15689 } else {
15690 func(static_cast<upgradedGiftAttributeIdModel &>(*obj));
15691 }
15692 return true;
15693 case upgradedGiftAttributeIdSymbol::ID:
15694 if constexpr (AllowTag) {
15695 downcast_call_tag<upgradedGiftAttributeIdSymbol> type_tag;
15696 func(type_tag);
15697 } else {
15698 func(static_cast<upgradedGiftAttributeIdSymbol &>(*obj));
15699 }
15700 return true;
15701 case upgradedGiftAttributeIdBackdrop::ID:
15702 if constexpr (AllowTag) {
15703 downcast_call_tag<upgradedGiftAttributeIdBackdrop> type_tag;
15704 func(type_tag);
15705 } else {
15706 func(static_cast<upgradedGiftAttributeIdBackdrop &>(*obj));
15707 }
15708 return true;
15709 case upgradedGiftAttributeRarityPerMille::ID:
15710 if constexpr (AllowTag) {
15711 downcast_call_tag<upgradedGiftAttributeRarityPerMille> type_tag;
15712 func(type_tag);
15713 } else {
15714 func(static_cast<upgradedGiftAttributeRarityPerMille &>(*obj));
15715 }
15716 return true;
15717 case upgradedGiftAttributeRarityUncommon::ID:
15718 if constexpr (AllowTag) {
15719 downcast_call_tag<upgradedGiftAttributeRarityUncommon> type_tag;
15720 func(type_tag);
15721 } else {
15722 func(static_cast<upgradedGiftAttributeRarityUncommon &>(*obj));
15723 }
15724 return true;
15725 case upgradedGiftAttributeRarityRare::ID:
15726 if constexpr (AllowTag) {
15727 downcast_call_tag<upgradedGiftAttributeRarityRare> type_tag;
15728 func(type_tag);
15729 } else {
15730 func(static_cast<upgradedGiftAttributeRarityRare &>(*obj));
15731 }
15732 return true;
15733 case upgradedGiftAttributeRarityEpic::ID:
15734 if constexpr (AllowTag) {
15735 downcast_call_tag<upgradedGiftAttributeRarityEpic> type_tag;
15736 func(type_tag);
15737 } else {
15738 func(static_cast<upgradedGiftAttributeRarityEpic &>(*obj));
15739 }
15740 return true;
15741 case upgradedGiftAttributeRarityLegendary::ID:
15742 if constexpr (AllowTag) {
15743 downcast_call_tag<upgradedGiftAttributeRarityLegendary> type_tag;
15744 func(type_tag);
15745 } else {
15746 func(static_cast<upgradedGiftAttributeRarityLegendary &>(*obj));
15747 }
15748 return true;
15749 case upgradedGiftBackdrop::ID:
15750 if constexpr (AllowTag) {
15751 downcast_call_tag<upgradedGiftBackdrop> type_tag;
15752 func(type_tag);
15753 } else {
15754 func(static_cast<upgradedGiftBackdrop &>(*obj));
15755 }
15756 return true;
15757 case upgradedGiftBackdropColors::ID:
15758 if constexpr (AllowTag) {
15759 downcast_call_tag<upgradedGiftBackdropColors> type_tag;
15760 func(type_tag);
15761 } else {
15762 func(static_cast<upgradedGiftBackdropColors &>(*obj));
15763 }
15764 return true;
15765 case upgradedGiftBackdropCount::ID:
15766 if constexpr (AllowTag) {
15767 downcast_call_tag<upgradedGiftBackdropCount> type_tag;
15768 func(type_tag);
15769 } else {
15770 func(static_cast<upgradedGiftBackdropCount &>(*obj));
15771 }
15772 return true;
15773 case upgradedGiftColors::ID:
15774 if constexpr (AllowTag) {
15775 downcast_call_tag<upgradedGiftColors> type_tag;
15776 func(type_tag);
15777 } else {
15778 func(static_cast<upgradedGiftColors &>(*obj));
15779 }
15780 return true;
15781 case upgradedGiftModel::ID:
15782 if constexpr (AllowTag) {
15783 downcast_call_tag<upgradedGiftModel> type_tag;
15784 func(type_tag);
15785 } else {
15786 func(static_cast<upgradedGiftModel &>(*obj));
15787 }
15788 return true;
15789 case upgradedGiftModelCount::ID:
15790 if constexpr (AllowTag) {
15791 downcast_call_tag<upgradedGiftModelCount> type_tag;
15792 func(type_tag);
15793 } else {
15794 func(static_cast<upgradedGiftModelCount &>(*obj));
15795 }
15796 return true;
15797 case upgradedGiftOriginUpgrade::ID:
15798 if constexpr (AllowTag) {
15799 downcast_call_tag<upgradedGiftOriginUpgrade> type_tag;
15800 func(type_tag);
15801 } else {
15802 func(static_cast<upgradedGiftOriginUpgrade &>(*obj));
15803 }
15804 return true;
15805 case upgradedGiftOriginTransfer::ID:
15806 if constexpr (AllowTag) {
15807 downcast_call_tag<upgradedGiftOriginTransfer> type_tag;
15808 func(type_tag);
15809 } else {
15810 func(static_cast<upgradedGiftOriginTransfer &>(*obj));
15811 }
15812 return true;
15813 case upgradedGiftOriginResale::ID:
15814 if constexpr (AllowTag) {
15815 downcast_call_tag<upgradedGiftOriginResale> type_tag;
15816 func(type_tag);
15817 } else {
15818 func(static_cast<upgradedGiftOriginResale &>(*obj));
15819 }
15820 return true;
15821 case upgradedGiftOriginBlockchain::ID:
15822 if constexpr (AllowTag) {
15823 downcast_call_tag<upgradedGiftOriginBlockchain> type_tag;
15824 func(type_tag);
15825 } else {
15826 func(static_cast<upgradedGiftOriginBlockchain &>(*obj));
15827 }
15828 return true;
15829 case upgradedGiftOriginPrepaidUpgrade::ID:
15830 if constexpr (AllowTag) {
15831 downcast_call_tag<upgradedGiftOriginPrepaidUpgrade> type_tag;
15832 func(type_tag);
15833 } else {
15834 func(static_cast<upgradedGiftOriginPrepaidUpgrade &>(*obj));
15835 }
15836 return true;
15837 case upgradedGiftOriginOffer::ID:
15838 if constexpr (AllowTag) {
15839 downcast_call_tag<upgradedGiftOriginOffer> type_tag;
15840 func(type_tag);
15841 } else {
15842 func(static_cast<upgradedGiftOriginOffer &>(*obj));
15843 }
15844 return true;
15845 case upgradedGiftOriginCraft::ID:
15846 if constexpr (AllowTag) {
15847 downcast_call_tag<upgradedGiftOriginCraft> type_tag;
15848 func(type_tag);
15849 } else {
15850 func(static_cast<upgradedGiftOriginCraft &>(*obj));
15851 }
15852 return true;
15853 case upgradedGiftOriginalDetails::ID:
15854 if constexpr (AllowTag) {
15855 downcast_call_tag<upgradedGiftOriginalDetails> type_tag;
15856 func(type_tag);
15857 } else {
15858 func(static_cast<upgradedGiftOriginalDetails &>(*obj));
15859 }
15860 return true;
15861 case upgradedGiftSymbol::ID:
15862 if constexpr (AllowTag) {
15863 downcast_call_tag<upgradedGiftSymbol> type_tag;
15864 func(type_tag);
15865 } else {
15866 func(static_cast<upgradedGiftSymbol &>(*obj));
15867 }
15868 return true;
15869 case upgradedGiftSymbolCount::ID:
15870 if constexpr (AllowTag) {
15871 downcast_call_tag<upgradedGiftSymbolCount> type_tag;
15872 func(type_tag);
15873 } else {
15874 func(static_cast<upgradedGiftSymbolCount &>(*obj));
15875 }
15876 return true;
15877 case upgradedGiftValueInfo::ID:
15878 if constexpr (AllowTag) {
15879 downcast_call_tag<upgradedGiftValueInfo> type_tag;
15880 func(type_tag);
15881 } else {
15882 func(static_cast<upgradedGiftValueInfo &>(*obj));
15883 }
15884 return true;
15885 case user::ID:
15886 if constexpr (AllowTag) {
15887 downcast_call_tag<user> type_tag;
15888 func(type_tag);
15889 } else {
15890 func(static_cast<user &>(*obj));
15891 }
15892 return true;
15893 case userAuctionBid::ID:
15894 if constexpr (AllowTag) {
15895 downcast_call_tag<userAuctionBid> type_tag;
15896 func(type_tag);
15897 } else {
15898 func(static_cast<userAuctionBid &>(*obj));
15899 }
15900 return true;
15901 case userFullInfo::ID:
15902 if constexpr (AllowTag) {
15903 downcast_call_tag<userFullInfo> type_tag;
15904 func(type_tag);
15905 } else {
15906 func(static_cast<userFullInfo &>(*obj));
15907 }
15908 return true;
15909 case userLink::ID:
15910 if constexpr (AllowTag) {
15911 downcast_call_tag<userLink> type_tag;
15912 func(type_tag);
15913 } else {
15914 func(static_cast<userLink &>(*obj));
15915 }
15916 return true;
15917 case userPrivacySettingShowStatus::ID:
15918 if constexpr (AllowTag) {
15919 downcast_call_tag<userPrivacySettingShowStatus> type_tag;
15920 func(type_tag);
15921 } else {
15922 func(static_cast<userPrivacySettingShowStatus &>(*obj));
15923 }
15924 return true;
15925 case userPrivacySettingShowProfilePhoto::ID:
15926 if constexpr (AllowTag) {
15927 downcast_call_tag<userPrivacySettingShowProfilePhoto> type_tag;
15928 func(type_tag);
15929 } else {
15930 func(static_cast<userPrivacySettingShowProfilePhoto &>(*obj));
15931 }
15932 return true;
15933 case userPrivacySettingShowLinkInForwardedMessages::ID:
15934 if constexpr (AllowTag) {
15935 downcast_call_tag<userPrivacySettingShowLinkInForwardedMessages> type_tag;
15936 func(type_tag);
15937 } else {
15938 func(static_cast<userPrivacySettingShowLinkInForwardedMessages &>(*obj));
15939 }
15940 return true;
15941 case userPrivacySettingShowPhoneNumber::ID:
15942 if constexpr (AllowTag) {
15943 downcast_call_tag<userPrivacySettingShowPhoneNumber> type_tag;
15944 func(type_tag);
15945 } else {
15946 func(static_cast<userPrivacySettingShowPhoneNumber &>(*obj));
15947 }
15948 return true;
15949 case userPrivacySettingShowBio::ID:
15950 if constexpr (AllowTag) {
15951 downcast_call_tag<userPrivacySettingShowBio> type_tag;
15952 func(type_tag);
15953 } else {
15954 func(static_cast<userPrivacySettingShowBio &>(*obj));
15955 }
15956 return true;
15957 case userPrivacySettingShowBirthdate::ID:
15958 if constexpr (AllowTag) {
15959 downcast_call_tag<userPrivacySettingShowBirthdate> type_tag;
15960 func(type_tag);
15961 } else {
15962 func(static_cast<userPrivacySettingShowBirthdate &>(*obj));
15963 }
15964 return true;
15965 case userPrivacySettingShowProfileAudio::ID:
15966 if constexpr (AllowTag) {
15967 downcast_call_tag<userPrivacySettingShowProfileAudio> type_tag;
15968 func(type_tag);
15969 } else {
15970 func(static_cast<userPrivacySettingShowProfileAudio &>(*obj));
15971 }
15972 return true;
15973 case userPrivacySettingAllowChatInvites::ID:
15974 if constexpr (AllowTag) {
15975 downcast_call_tag<userPrivacySettingAllowChatInvites> type_tag;
15976 func(type_tag);
15977 } else {
15978 func(static_cast<userPrivacySettingAllowChatInvites &>(*obj));
15979 }
15980 return true;
15981 case userPrivacySettingAllowCalls::ID:
15982 if constexpr (AllowTag) {
15983 downcast_call_tag<userPrivacySettingAllowCalls> type_tag;
15984 func(type_tag);
15985 } else {
15986 func(static_cast<userPrivacySettingAllowCalls &>(*obj));
15987 }
15988 return true;
15989 case userPrivacySettingAllowPeerToPeerCalls::ID:
15990 if constexpr (AllowTag) {
15991 downcast_call_tag<userPrivacySettingAllowPeerToPeerCalls> type_tag;
15992 func(type_tag);
15993 } else {
15994 func(static_cast<userPrivacySettingAllowPeerToPeerCalls &>(*obj));
15995 }
15996 return true;
15997 case userPrivacySettingAllowFindingByPhoneNumber::ID:
15998 if constexpr (AllowTag) {
15999 downcast_call_tag<userPrivacySettingAllowFindingByPhoneNumber> type_tag;
16000 func(type_tag);
16001 } else {
16002 func(static_cast<userPrivacySettingAllowFindingByPhoneNumber &>(*obj));
16003 }
16004 return true;
16005 case userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages::ID:
16006 if constexpr (AllowTag) {
16007 downcast_call_tag<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages> type_tag;
16008 func(type_tag);
16009 } else {
16010 func(static_cast<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages &>(*obj));
16011 }
16012 return true;
16013 case userPrivacySettingAutosaveGifts::ID:
16014 if constexpr (AllowTag) {
16015 downcast_call_tag<userPrivacySettingAutosaveGifts> type_tag;
16016 func(type_tag);
16017 } else {
16018 func(static_cast<userPrivacySettingAutosaveGifts &>(*obj));
16019 }
16020 return true;
16021 case userPrivacySettingAllowUnpaidMessages::ID:
16022 if constexpr (AllowTag) {
16023 downcast_call_tag<userPrivacySettingAllowUnpaidMessages> type_tag;
16024 func(type_tag);
16025 } else {
16026 func(static_cast<userPrivacySettingAllowUnpaidMessages &>(*obj));
16027 }
16028 return true;
16029 case userPrivacySettingRuleAllowAll::ID:
16030 if constexpr (AllowTag) {
16031 downcast_call_tag<userPrivacySettingRuleAllowAll> type_tag;
16032 func(type_tag);
16033 } else {
16034 func(static_cast<userPrivacySettingRuleAllowAll &>(*obj));
16035 }
16036 return true;
16037 case userPrivacySettingRuleAllowContacts::ID:
16038 if constexpr (AllowTag) {
16039 downcast_call_tag<userPrivacySettingRuleAllowContacts> type_tag;
16040 func(type_tag);
16041 } else {
16042 func(static_cast<userPrivacySettingRuleAllowContacts &>(*obj));
16043 }
16044 return true;
16045 case userPrivacySettingRuleAllowBots::ID:
16046 if constexpr (AllowTag) {
16047 downcast_call_tag<userPrivacySettingRuleAllowBots> type_tag;
16048 func(type_tag);
16049 } else {
16050 func(static_cast<userPrivacySettingRuleAllowBots &>(*obj));
16051 }
16052 return true;
16053 case userPrivacySettingRuleAllowPremiumUsers::ID:
16054 if constexpr (AllowTag) {
16055 downcast_call_tag<userPrivacySettingRuleAllowPremiumUsers> type_tag;
16056 func(type_tag);
16057 } else {
16058 func(static_cast<userPrivacySettingRuleAllowPremiumUsers &>(*obj));
16059 }
16060 return true;
16061 case userPrivacySettingRuleAllowUsers::ID:
16062 if constexpr (AllowTag) {
16063 downcast_call_tag<userPrivacySettingRuleAllowUsers> type_tag;
16064 func(type_tag);
16065 } else {
16066 func(static_cast<userPrivacySettingRuleAllowUsers &>(*obj));
16067 }
16068 return true;
16069 case userPrivacySettingRuleAllowChatMembers::ID:
16070 if constexpr (AllowTag) {
16071 downcast_call_tag<userPrivacySettingRuleAllowChatMembers> type_tag;
16072 func(type_tag);
16073 } else {
16074 func(static_cast<userPrivacySettingRuleAllowChatMembers &>(*obj));
16075 }
16076 return true;
16077 case userPrivacySettingRuleRestrictAll::ID:
16078 if constexpr (AllowTag) {
16079 downcast_call_tag<userPrivacySettingRuleRestrictAll> type_tag;
16080 func(type_tag);
16081 } else {
16082 func(static_cast<userPrivacySettingRuleRestrictAll &>(*obj));
16083 }
16084 return true;
16085 case userPrivacySettingRuleRestrictContacts::ID:
16086 if constexpr (AllowTag) {
16087 downcast_call_tag<userPrivacySettingRuleRestrictContacts> type_tag;
16088 func(type_tag);
16089 } else {
16090 func(static_cast<userPrivacySettingRuleRestrictContacts &>(*obj));
16091 }
16092 return true;
16093 case userPrivacySettingRuleRestrictBots::ID:
16094 if constexpr (AllowTag) {
16095 downcast_call_tag<userPrivacySettingRuleRestrictBots> type_tag;
16096 func(type_tag);
16097 } else {
16098 func(static_cast<userPrivacySettingRuleRestrictBots &>(*obj));
16099 }
16100 return true;
16101 case userPrivacySettingRuleRestrictUsers::ID:
16102 if constexpr (AllowTag) {
16103 downcast_call_tag<userPrivacySettingRuleRestrictUsers> type_tag;
16104 func(type_tag);
16105 } else {
16106 func(static_cast<userPrivacySettingRuleRestrictUsers &>(*obj));
16107 }
16108 return true;
16109 case userPrivacySettingRuleRestrictChatMembers::ID:
16110 if constexpr (AllowTag) {
16111 downcast_call_tag<userPrivacySettingRuleRestrictChatMembers> type_tag;
16112 func(type_tag);
16113 } else {
16114 func(static_cast<userPrivacySettingRuleRestrictChatMembers &>(*obj));
16115 }
16116 return true;
16117 case userPrivacySettingRules::ID:
16118 if constexpr (AllowTag) {
16119 downcast_call_tag<userPrivacySettingRules> type_tag;
16120 func(type_tag);
16121 } else {
16122 func(static_cast<userPrivacySettingRules &>(*obj));
16123 }
16124 return true;
16125 case userRating::ID:
16126 if constexpr (AllowTag) {
16127 downcast_call_tag<userRating> type_tag;
16128 func(type_tag);
16129 } else {
16130 func(static_cast<userRating &>(*obj));
16131 }
16132 return true;
16133 case userStatusEmpty::ID:
16134 if constexpr (AllowTag) {
16135 downcast_call_tag<userStatusEmpty> type_tag;
16136 func(type_tag);
16137 } else {
16138 func(static_cast<userStatusEmpty &>(*obj));
16139 }
16140 return true;
16141 case userStatusOnline::ID:
16142 if constexpr (AllowTag) {
16143 downcast_call_tag<userStatusOnline> type_tag;
16144 func(type_tag);
16145 } else {
16146 func(static_cast<userStatusOnline &>(*obj));
16147 }
16148 return true;
16149 case userStatusOffline::ID:
16150 if constexpr (AllowTag) {
16151 downcast_call_tag<userStatusOffline> type_tag;
16152 func(type_tag);
16153 } else {
16154 func(static_cast<userStatusOffline &>(*obj));
16155 }
16156 return true;
16157 case userStatusRecently::ID:
16158 if constexpr (AllowTag) {
16159 downcast_call_tag<userStatusRecently> type_tag;
16160 func(type_tag);
16161 } else {
16162 func(static_cast<userStatusRecently &>(*obj));
16163 }
16164 return true;
16165 case userStatusLastWeek::ID:
16166 if constexpr (AllowTag) {
16167 downcast_call_tag<userStatusLastWeek> type_tag;
16168 func(type_tag);
16169 } else {
16170 func(static_cast<userStatusLastWeek &>(*obj));
16171 }
16172 return true;
16173 case userStatusLastMonth::ID:
16174 if constexpr (AllowTag) {
16175 downcast_call_tag<userStatusLastMonth> type_tag;
16176 func(type_tag);
16177 } else {
16178 func(static_cast<userStatusLastMonth &>(*obj));
16179 }
16180 return true;
16181 case userSupportInfo::ID:
16182 if constexpr (AllowTag) {
16183 downcast_call_tag<userSupportInfo> type_tag;
16184 func(type_tag);
16185 } else {
16186 func(static_cast<userSupportInfo &>(*obj));
16187 }
16188 return true;
16189 case userTypeRegular::ID:
16190 if constexpr (AllowTag) {
16191 downcast_call_tag<userTypeRegular> type_tag;
16192 func(type_tag);
16193 } else {
16194 func(static_cast<userTypeRegular &>(*obj));
16195 }
16196 return true;
16197 case userTypeDeleted::ID:
16198 if constexpr (AllowTag) {
16199 downcast_call_tag<userTypeDeleted> type_tag;
16200 func(type_tag);
16201 } else {
16202 func(static_cast<userTypeDeleted &>(*obj));
16203 }
16204 return true;
16205 case userTypeBot::ID:
16206 if constexpr (AllowTag) {
16207 downcast_call_tag<userTypeBot> type_tag;
16208 func(type_tag);
16209 } else {
16210 func(static_cast<userTypeBot &>(*obj));
16211 }
16212 return true;
16213 case userTypeUnknown::ID:
16214 if constexpr (AllowTag) {
16215 downcast_call_tag<userTypeUnknown> type_tag;
16216 func(type_tag);
16217 } else {
16218 func(static_cast<userTypeUnknown &>(*obj));
16219 }
16220 return true;
16221 case usernames::ID:
16222 if constexpr (AllowTag) {
16223 downcast_call_tag<usernames> type_tag;
16224 func(type_tag);
16225 } else {
16226 func(static_cast<usernames &>(*obj));
16227 }
16228 return true;
16229 case users::ID:
16230 if constexpr (AllowTag) {
16231 downcast_call_tag<users> type_tag;
16232 func(type_tag);
16233 } else {
16234 func(static_cast<users &>(*obj));
16235 }
16236 return true;
16237 case validatedOrderInfo::ID:
16238 if constexpr (AllowTag) {
16239 downcast_call_tag<validatedOrderInfo> type_tag;
16240 func(type_tag);
16241 } else {
16242 func(static_cast<validatedOrderInfo &>(*obj));
16243 }
16244 return true;
16245 case vectorPathCommandLine::ID:
16246 if constexpr (AllowTag) {
16247 downcast_call_tag<vectorPathCommandLine> type_tag;
16248 func(type_tag);
16249 } else {
16250 func(static_cast<vectorPathCommandLine &>(*obj));
16251 }
16252 return true;
16253 case vectorPathCommandCubicBezierCurve::ID:
16254 if constexpr (AllowTag) {
16255 downcast_call_tag<vectorPathCommandCubicBezierCurve> type_tag;
16256 func(type_tag);
16257 } else {
16258 func(static_cast<vectorPathCommandCubicBezierCurve &>(*obj));
16259 }
16260 return true;
16261 case venue::ID:
16262 if constexpr (AllowTag) {
16263 downcast_call_tag<venue> type_tag;
16264 func(type_tag);
16265 } else {
16266 func(static_cast<venue &>(*obj));
16267 }
16268 return true;
16269 case verificationStatus::ID:
16270 if constexpr (AllowTag) {
16271 downcast_call_tag<verificationStatus> type_tag;
16272 func(type_tag);
16273 } else {
16274 func(static_cast<verificationStatus &>(*obj));
16275 }
16276 return true;
16277 case video::ID:
16278 if constexpr (AllowTag) {
16279 downcast_call_tag<video> type_tag;
16280 func(type_tag);
16281 } else {
16282 func(static_cast<video &>(*obj));
16283 }
16284 return true;
16285 case videoChat::ID:
16286 if constexpr (AllowTag) {
16287 downcast_call_tag<videoChat> type_tag;
16288 func(type_tag);
16289 } else {
16290 func(static_cast<videoChat &>(*obj));
16291 }
16292 return true;
16293 case videoMessageAdvertisement::ID:
16294 if constexpr (AllowTag) {
16295 downcast_call_tag<videoMessageAdvertisement> type_tag;
16296 func(type_tag);
16297 } else {
16298 func(static_cast<videoMessageAdvertisement &>(*obj));
16299 }
16300 return true;
16301 case videoMessageAdvertisements::ID:
16302 if constexpr (AllowTag) {
16303 downcast_call_tag<videoMessageAdvertisements> type_tag;
16304 func(type_tag);
16305 } else {
16306 func(static_cast<videoMessageAdvertisements &>(*obj));
16307 }
16308 return true;
16309 case videoNote::ID:
16310 if constexpr (AllowTag) {
16311 downcast_call_tag<videoNote> type_tag;
16312 func(type_tag);
16313 } else {
16314 func(static_cast<videoNote &>(*obj));
16315 }
16316 return true;
16317 case videoStoryboard::ID:
16318 if constexpr (AllowTag) {
16319 downcast_call_tag<videoStoryboard> type_tag;
16320 func(type_tag);
16321 } else {
16322 func(static_cast<videoStoryboard &>(*obj));
16323 }
16324 return true;
16325 case voiceNote::ID:
16326 if constexpr (AllowTag) {
16327 downcast_call_tag<voiceNote> type_tag;
16328 func(type_tag);
16329 } else {
16330 func(static_cast<voiceNote &>(*obj));
16331 }
16332 return true;
16333 case webApp::ID:
16334 if constexpr (AllowTag) {
16335 downcast_call_tag<webApp> type_tag;
16336 func(type_tag);
16337 } else {
16338 func(static_cast<webApp &>(*obj));
16339 }
16340 return true;
16341 case webAppInfo::ID:
16342 if constexpr (AllowTag) {
16343 downcast_call_tag<webAppInfo> type_tag;
16344 func(type_tag);
16345 } else {
16346 func(static_cast<webAppInfo &>(*obj));
16347 }
16348 return true;
16349 case webAppOpenModeCompact::ID:
16350 if constexpr (AllowTag) {
16351 downcast_call_tag<webAppOpenModeCompact> type_tag;
16352 func(type_tag);
16353 } else {
16354 func(static_cast<webAppOpenModeCompact &>(*obj));
16355 }
16356 return true;
16357 case webAppOpenModeFullSize::ID:
16358 if constexpr (AllowTag) {
16359 downcast_call_tag<webAppOpenModeFullSize> type_tag;
16360 func(type_tag);
16361 } else {
16362 func(static_cast<webAppOpenModeFullSize &>(*obj));
16363 }
16364 return true;
16365 case webAppOpenModeFullScreen::ID:
16366 if constexpr (AllowTag) {
16367 downcast_call_tag<webAppOpenModeFullScreen> type_tag;
16368 func(type_tag);
16369 } else {
16370 func(static_cast<webAppOpenModeFullScreen &>(*obj));
16371 }
16372 return true;
16373 case webAppOpenParameters::ID:
16374 if constexpr (AllowTag) {
16375 downcast_call_tag<webAppOpenParameters> type_tag;
16376 func(type_tag);
16377 } else {
16378 func(static_cast<webAppOpenParameters &>(*obj));
16379 }
16380 return true;
16381 case webPageInstantView::ID:
16382 if constexpr (AllowTag) {
16383 downcast_call_tag<webPageInstantView> type_tag;
16384 func(type_tag);
16385 } else {
16386 func(static_cast<webPageInstantView &>(*obj));
16387 }
16388 return true;
16389 default:
16390 return false;
16391 }
16392}

◆ downcast_call_impl() [119/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
OptionValue obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33477 of file td_api.hpp.

33477 { //-V2008
33478 switch (constructor) {
33479 case optionValueBoolean::ID:
33480 if constexpr (AllowTag) {
33481 downcast_call_tag<optionValueBoolean> type_tag;
33482 func(type_tag);
33483 } else {
33484 func(static_cast<optionValueBoolean &>(*obj));
33485 }
33486 return true;
33487 case optionValueEmpty::ID:
33488 if constexpr (AllowTag) {
33489 downcast_call_tag<optionValueEmpty> type_tag;
33490 func(type_tag);
33491 } else {
33492 func(static_cast<optionValueEmpty &>(*obj));
33493 }
33494 return true;
33495 case optionValueInteger::ID:
33496 if constexpr (AllowTag) {
33497 downcast_call_tag<optionValueInteger> type_tag;
33498 func(type_tag);
33499 } else {
33500 func(static_cast<optionValueInteger &>(*obj));
33501 }
33502 return true;
33503 case optionValueString::ID:
33504 if constexpr (AllowTag) {
33505 downcast_call_tag<optionValueString> type_tag;
33506 func(type_tag);
33507 } else {
33508 func(static_cast<optionValueString &>(*obj));
33509 }
33510 return true;
33511 default:
33512 return false;
33513 }
33514}

◆ downcast_call_impl() [120/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PageBlock obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33536 of file td_api.hpp.

33536 { //-V2008
33537 switch (constructor) {
33538 case pageBlockTitle::ID:
33539 if constexpr (AllowTag) {
33540 downcast_call_tag<pageBlockTitle> type_tag;
33541 func(type_tag);
33542 } else {
33543 func(static_cast<pageBlockTitle &>(*obj));
33544 }
33545 return true;
33546 case pageBlockSubtitle::ID:
33547 if constexpr (AllowTag) {
33548 downcast_call_tag<pageBlockSubtitle> type_tag;
33549 func(type_tag);
33550 } else {
33551 func(static_cast<pageBlockSubtitle &>(*obj));
33552 }
33553 return true;
33554 case pageBlockAuthorDate::ID:
33555 if constexpr (AllowTag) {
33556 downcast_call_tag<pageBlockAuthorDate> type_tag;
33557 func(type_tag);
33558 } else {
33559 func(static_cast<pageBlockAuthorDate &>(*obj));
33560 }
33561 return true;
33562 case pageBlockHeader::ID:
33563 if constexpr (AllowTag) {
33564 downcast_call_tag<pageBlockHeader> type_tag;
33565 func(type_tag);
33566 } else {
33567 func(static_cast<pageBlockHeader &>(*obj));
33568 }
33569 return true;
33570 case pageBlockSubheader::ID:
33571 if constexpr (AllowTag) {
33572 downcast_call_tag<pageBlockSubheader> type_tag;
33573 func(type_tag);
33574 } else {
33575 func(static_cast<pageBlockSubheader &>(*obj));
33576 }
33577 return true;
33578 case pageBlockKicker::ID:
33579 if constexpr (AllowTag) {
33580 downcast_call_tag<pageBlockKicker> type_tag;
33581 func(type_tag);
33582 } else {
33583 func(static_cast<pageBlockKicker &>(*obj));
33584 }
33585 return true;
33586 case pageBlockParagraph::ID:
33587 if constexpr (AllowTag) {
33588 downcast_call_tag<pageBlockParagraph> type_tag;
33589 func(type_tag);
33590 } else {
33591 func(static_cast<pageBlockParagraph &>(*obj));
33592 }
33593 return true;
33594 case pageBlockPreformatted::ID:
33595 if constexpr (AllowTag) {
33596 downcast_call_tag<pageBlockPreformatted> type_tag;
33597 func(type_tag);
33598 } else {
33599 func(static_cast<pageBlockPreformatted &>(*obj));
33600 }
33601 return true;
33602 case pageBlockFooter::ID:
33603 if constexpr (AllowTag) {
33604 downcast_call_tag<pageBlockFooter> type_tag;
33605 func(type_tag);
33606 } else {
33607 func(static_cast<pageBlockFooter &>(*obj));
33608 }
33609 return true;
33610 case pageBlockDivider::ID:
33611 if constexpr (AllowTag) {
33612 downcast_call_tag<pageBlockDivider> type_tag;
33613 func(type_tag);
33614 } else {
33615 func(static_cast<pageBlockDivider &>(*obj));
33616 }
33617 return true;
33618 case pageBlockAnchor::ID:
33619 if constexpr (AllowTag) {
33620 downcast_call_tag<pageBlockAnchor> type_tag;
33621 func(type_tag);
33622 } else {
33623 func(static_cast<pageBlockAnchor &>(*obj));
33624 }
33625 return true;
33626 case pageBlockList::ID:
33627 if constexpr (AllowTag) {
33628 downcast_call_tag<pageBlockList> type_tag;
33629 func(type_tag);
33630 } else {
33631 func(static_cast<pageBlockList &>(*obj));
33632 }
33633 return true;
33634 case pageBlockBlockQuote::ID:
33635 if constexpr (AllowTag) {
33636 downcast_call_tag<pageBlockBlockQuote> type_tag;
33637 func(type_tag);
33638 } else {
33639 func(static_cast<pageBlockBlockQuote &>(*obj));
33640 }
33641 return true;
33642 case pageBlockPullQuote::ID:
33643 if constexpr (AllowTag) {
33644 downcast_call_tag<pageBlockPullQuote> type_tag;
33645 func(type_tag);
33646 } else {
33647 func(static_cast<pageBlockPullQuote &>(*obj));
33648 }
33649 return true;
33650 case pageBlockAnimation::ID:
33651 if constexpr (AllowTag) {
33652 downcast_call_tag<pageBlockAnimation> type_tag;
33653 func(type_tag);
33654 } else {
33655 func(static_cast<pageBlockAnimation &>(*obj));
33656 }
33657 return true;
33658 case pageBlockAudio::ID:
33659 if constexpr (AllowTag) {
33660 downcast_call_tag<pageBlockAudio> type_tag;
33661 func(type_tag);
33662 } else {
33663 func(static_cast<pageBlockAudio &>(*obj));
33664 }
33665 return true;
33666 case pageBlockPhoto::ID:
33667 if constexpr (AllowTag) {
33668 downcast_call_tag<pageBlockPhoto> type_tag;
33669 func(type_tag);
33670 } else {
33671 func(static_cast<pageBlockPhoto &>(*obj));
33672 }
33673 return true;
33674 case pageBlockVideo::ID:
33675 if constexpr (AllowTag) {
33676 downcast_call_tag<pageBlockVideo> type_tag;
33677 func(type_tag);
33678 } else {
33679 func(static_cast<pageBlockVideo &>(*obj));
33680 }
33681 return true;
33682 case pageBlockVoiceNote::ID:
33683 if constexpr (AllowTag) {
33684 downcast_call_tag<pageBlockVoiceNote> type_tag;
33685 func(type_tag);
33686 } else {
33687 func(static_cast<pageBlockVoiceNote &>(*obj));
33688 }
33689 return true;
33690 case pageBlockCover::ID:
33691 if constexpr (AllowTag) {
33692 downcast_call_tag<pageBlockCover> type_tag;
33693 func(type_tag);
33694 } else {
33695 func(static_cast<pageBlockCover &>(*obj));
33696 }
33697 return true;
33698 case pageBlockEmbedded::ID:
33699 if constexpr (AllowTag) {
33700 downcast_call_tag<pageBlockEmbedded> type_tag;
33701 func(type_tag);
33702 } else {
33703 func(static_cast<pageBlockEmbedded &>(*obj));
33704 }
33705 return true;
33706 case pageBlockEmbeddedPost::ID:
33707 if constexpr (AllowTag) {
33708 downcast_call_tag<pageBlockEmbeddedPost> type_tag;
33709 func(type_tag);
33710 } else {
33711 func(static_cast<pageBlockEmbeddedPost &>(*obj));
33712 }
33713 return true;
33714 case pageBlockCollage::ID:
33715 if constexpr (AllowTag) {
33716 downcast_call_tag<pageBlockCollage> type_tag;
33717 func(type_tag);
33718 } else {
33719 func(static_cast<pageBlockCollage &>(*obj));
33720 }
33721 return true;
33722 case pageBlockSlideshow::ID:
33723 if constexpr (AllowTag) {
33724 downcast_call_tag<pageBlockSlideshow> type_tag;
33725 func(type_tag);
33726 } else {
33727 func(static_cast<pageBlockSlideshow &>(*obj));
33728 }
33729 return true;
33730 case pageBlockChatLink::ID:
33731 if constexpr (AllowTag) {
33732 downcast_call_tag<pageBlockChatLink> type_tag;
33733 func(type_tag);
33734 } else {
33735 func(static_cast<pageBlockChatLink &>(*obj));
33736 }
33737 return true;
33738 case pageBlockTable::ID:
33739 if constexpr (AllowTag) {
33740 downcast_call_tag<pageBlockTable> type_tag;
33741 func(type_tag);
33742 } else {
33743 func(static_cast<pageBlockTable &>(*obj));
33744 }
33745 return true;
33746 case pageBlockDetails::ID:
33747 if constexpr (AllowTag) {
33748 downcast_call_tag<pageBlockDetails> type_tag;
33749 func(type_tag);
33750 } else {
33751 func(static_cast<pageBlockDetails &>(*obj));
33752 }
33753 return true;
33754 case pageBlockRelatedArticles::ID:
33755 if constexpr (AllowTag) {
33756 downcast_call_tag<pageBlockRelatedArticles> type_tag;
33757 func(type_tag);
33758 } else {
33759 func(static_cast<pageBlockRelatedArticles &>(*obj));
33760 }
33761 return true;
33762 case pageBlockMap::ID:
33763 if constexpr (AllowTag) {
33764 downcast_call_tag<pageBlockMap> type_tag;
33765 func(type_tag);
33766 } else {
33767 func(static_cast<pageBlockMap &>(*obj));
33768 }
33769 return true;
33770 default:
33771 return false;
33772 }
33773}

◆ downcast_call_impl() [121/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PageBlockHorizontalAlignment obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33795 of file td_api.hpp.

33795 { //-V2008
33796 switch (constructor) {
33797 case pageBlockHorizontalAlignmentLeft::ID:
33798 if constexpr (AllowTag) {
33799 downcast_call_tag<pageBlockHorizontalAlignmentLeft> type_tag;
33800 func(type_tag);
33801 } else {
33802 func(static_cast<pageBlockHorizontalAlignmentLeft &>(*obj));
33803 }
33804 return true;
33805 case pageBlockHorizontalAlignmentCenter::ID:
33806 if constexpr (AllowTag) {
33807 downcast_call_tag<pageBlockHorizontalAlignmentCenter> type_tag;
33808 func(type_tag);
33809 } else {
33810 func(static_cast<pageBlockHorizontalAlignmentCenter &>(*obj));
33811 }
33812 return true;
33813 case pageBlockHorizontalAlignmentRight::ID:
33814 if constexpr (AllowTag) {
33815 downcast_call_tag<pageBlockHorizontalAlignmentRight> type_tag;
33816 func(type_tag);
33817 } else {
33818 func(static_cast<pageBlockHorizontalAlignmentRight &>(*obj));
33819 }
33820 return true;
33821 default:
33822 return false;
33823 }
33824}

◆ downcast_call_impl() [122/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PageBlockVerticalAlignment obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33846 of file td_api.hpp.

33846 { //-V2008
33847 switch (constructor) {
33848 case pageBlockVerticalAlignmentTop::ID:
33849 if constexpr (AllowTag) {
33850 downcast_call_tag<pageBlockVerticalAlignmentTop> type_tag;
33851 func(type_tag);
33852 } else {
33853 func(static_cast<pageBlockVerticalAlignmentTop &>(*obj));
33854 }
33855 return true;
33856 case pageBlockVerticalAlignmentMiddle::ID:
33857 if constexpr (AllowTag) {
33858 downcast_call_tag<pageBlockVerticalAlignmentMiddle> type_tag;
33859 func(type_tag);
33860 } else {
33861 func(static_cast<pageBlockVerticalAlignmentMiddle &>(*obj));
33862 }
33863 return true;
33864 case pageBlockVerticalAlignmentBottom::ID:
33865 if constexpr (AllowTag) {
33866 downcast_call_tag<pageBlockVerticalAlignmentBottom> type_tag;
33867 func(type_tag);
33868 } else {
33869 func(static_cast<pageBlockVerticalAlignmentBottom &>(*obj));
33870 }
33871 return true;
33872 default:
33873 return false;
33874 }
33875}

◆ downcast_call_impl() [123/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PaidMedia obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33897 of file td_api.hpp.

33897 { //-V2008
33898 switch (constructor) {
33899 case paidMediaPreview::ID:
33900 if constexpr (AllowTag) {
33901 downcast_call_tag<paidMediaPreview> type_tag;
33902 func(type_tag);
33903 } else {
33904 func(static_cast<paidMediaPreview &>(*obj));
33905 }
33906 return true;
33907 case paidMediaPhoto::ID:
33908 if constexpr (AllowTag) {
33909 downcast_call_tag<paidMediaPhoto> type_tag;
33910 func(type_tag);
33911 } else {
33912 func(static_cast<paidMediaPhoto &>(*obj));
33913 }
33914 return true;
33915 case paidMediaVideo::ID:
33916 if constexpr (AllowTag) {
33917 downcast_call_tag<paidMediaVideo> type_tag;
33918 func(type_tag);
33919 } else {
33920 func(static_cast<paidMediaVideo &>(*obj));
33921 }
33922 return true;
33923 case paidMediaUnsupported::ID:
33924 if constexpr (AllowTag) {
33925 downcast_call_tag<paidMediaUnsupported> type_tag;
33926 func(type_tag);
33927 } else {
33928 func(static_cast<paidMediaUnsupported &>(*obj));
33929 }
33930 return true;
33931 default:
33932 return false;
33933 }
33934}

◆ downcast_call_impl() [124/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PaidReactionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 33956 of file td_api.hpp.

33956 { //-V2008
33957 switch (constructor) {
33958 case paidReactionTypeRegular::ID:
33959 if constexpr (AllowTag) {
33960 downcast_call_tag<paidReactionTypeRegular> type_tag;
33961 func(type_tag);
33962 } else {
33963 func(static_cast<paidReactionTypeRegular &>(*obj));
33964 }
33965 return true;
33966 case paidReactionTypeAnonymous::ID:
33967 if constexpr (AllowTag) {
33968 downcast_call_tag<paidReactionTypeAnonymous> type_tag;
33969 func(type_tag);
33970 } else {
33971 func(static_cast<paidReactionTypeAnonymous &>(*obj));
33972 }
33973 return true;
33974 case paidReactionTypeChat::ID:
33975 if constexpr (AllowTag) {
33976 downcast_call_tag<paidReactionTypeChat> type_tag;
33977 func(type_tag);
33978 } else {
33979 func(static_cast<paidReactionTypeChat &>(*obj));
33980 }
33981 return true;
33982 default:
33983 return false;
33984 }
33985}

◆ downcast_call_impl() [125/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PassportElement obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34007 of file td_api.hpp.

34007 { //-V2008
34008 switch (constructor) {
34009 case passportElementPersonalDetails::ID:
34010 if constexpr (AllowTag) {
34011 downcast_call_tag<passportElementPersonalDetails> type_tag;
34012 func(type_tag);
34013 } else {
34014 func(static_cast<passportElementPersonalDetails &>(*obj));
34015 }
34016 return true;
34017 case passportElementPassport::ID:
34018 if constexpr (AllowTag) {
34019 downcast_call_tag<passportElementPassport> type_tag;
34020 func(type_tag);
34021 } else {
34022 func(static_cast<passportElementPassport &>(*obj));
34023 }
34024 return true;
34025 case passportElementDriverLicense::ID:
34026 if constexpr (AllowTag) {
34027 downcast_call_tag<passportElementDriverLicense> type_tag;
34028 func(type_tag);
34029 } else {
34030 func(static_cast<passportElementDriverLicense &>(*obj));
34031 }
34032 return true;
34033 case passportElementIdentityCard::ID:
34034 if constexpr (AllowTag) {
34035 downcast_call_tag<passportElementIdentityCard> type_tag;
34036 func(type_tag);
34037 } else {
34038 func(static_cast<passportElementIdentityCard &>(*obj));
34039 }
34040 return true;
34041 case passportElementInternalPassport::ID:
34042 if constexpr (AllowTag) {
34043 downcast_call_tag<passportElementInternalPassport> type_tag;
34044 func(type_tag);
34045 } else {
34046 func(static_cast<passportElementInternalPassport &>(*obj));
34047 }
34048 return true;
34049 case passportElementAddress::ID:
34050 if constexpr (AllowTag) {
34051 downcast_call_tag<passportElementAddress> type_tag;
34052 func(type_tag);
34053 } else {
34054 func(static_cast<passportElementAddress &>(*obj));
34055 }
34056 return true;
34057 case passportElementUtilityBill::ID:
34058 if constexpr (AllowTag) {
34059 downcast_call_tag<passportElementUtilityBill> type_tag;
34060 func(type_tag);
34061 } else {
34062 func(static_cast<passportElementUtilityBill &>(*obj));
34063 }
34064 return true;
34065 case passportElementBankStatement::ID:
34066 if constexpr (AllowTag) {
34067 downcast_call_tag<passportElementBankStatement> type_tag;
34068 func(type_tag);
34069 } else {
34070 func(static_cast<passportElementBankStatement &>(*obj));
34071 }
34072 return true;
34073 case passportElementRentalAgreement::ID:
34074 if constexpr (AllowTag) {
34075 downcast_call_tag<passportElementRentalAgreement> type_tag;
34076 func(type_tag);
34077 } else {
34078 func(static_cast<passportElementRentalAgreement &>(*obj));
34079 }
34080 return true;
34081 case passportElementPassportRegistration::ID:
34082 if constexpr (AllowTag) {
34083 downcast_call_tag<passportElementPassportRegistration> type_tag;
34084 func(type_tag);
34085 } else {
34086 func(static_cast<passportElementPassportRegistration &>(*obj));
34087 }
34088 return true;
34089 case passportElementTemporaryRegistration::ID:
34090 if constexpr (AllowTag) {
34091 downcast_call_tag<passportElementTemporaryRegistration> type_tag;
34092 func(type_tag);
34093 } else {
34094 func(static_cast<passportElementTemporaryRegistration &>(*obj));
34095 }
34096 return true;
34097 case passportElementPhoneNumber::ID:
34098 if constexpr (AllowTag) {
34099 downcast_call_tag<passportElementPhoneNumber> type_tag;
34100 func(type_tag);
34101 } else {
34102 func(static_cast<passportElementPhoneNumber &>(*obj));
34103 }
34104 return true;
34105 case passportElementEmailAddress::ID:
34106 if constexpr (AllowTag) {
34107 downcast_call_tag<passportElementEmailAddress> type_tag;
34108 func(type_tag);
34109 } else {
34110 func(static_cast<passportElementEmailAddress &>(*obj));
34111 }
34112 return true;
34113 default:
34114 return false;
34115 }
34116}

◆ downcast_call_impl() [126/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PassportElementErrorSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34138 of file td_api.hpp.

34138 { //-V2008
34139 switch (constructor) {
34140 case passportElementErrorSourceUnspecified::ID:
34141 if constexpr (AllowTag) {
34142 downcast_call_tag<passportElementErrorSourceUnspecified> type_tag;
34143 func(type_tag);
34144 } else {
34145 func(static_cast<passportElementErrorSourceUnspecified &>(*obj));
34146 }
34147 return true;
34148 case passportElementErrorSourceDataField::ID:
34149 if constexpr (AllowTag) {
34150 downcast_call_tag<passportElementErrorSourceDataField> type_tag;
34151 func(type_tag);
34152 } else {
34153 func(static_cast<passportElementErrorSourceDataField &>(*obj));
34154 }
34155 return true;
34156 case passportElementErrorSourceFrontSide::ID:
34157 if constexpr (AllowTag) {
34158 downcast_call_tag<passportElementErrorSourceFrontSide> type_tag;
34159 func(type_tag);
34160 } else {
34161 func(static_cast<passportElementErrorSourceFrontSide &>(*obj));
34162 }
34163 return true;
34164 case passportElementErrorSourceReverseSide::ID:
34165 if constexpr (AllowTag) {
34166 downcast_call_tag<passportElementErrorSourceReverseSide> type_tag;
34167 func(type_tag);
34168 } else {
34169 func(static_cast<passportElementErrorSourceReverseSide &>(*obj));
34170 }
34171 return true;
34172 case passportElementErrorSourceSelfie::ID:
34173 if constexpr (AllowTag) {
34174 downcast_call_tag<passportElementErrorSourceSelfie> type_tag;
34175 func(type_tag);
34176 } else {
34177 func(static_cast<passportElementErrorSourceSelfie &>(*obj));
34178 }
34179 return true;
34180 case passportElementErrorSourceTranslationFile::ID:
34181 if constexpr (AllowTag) {
34182 downcast_call_tag<passportElementErrorSourceTranslationFile> type_tag;
34183 func(type_tag);
34184 } else {
34185 func(static_cast<passportElementErrorSourceTranslationFile &>(*obj));
34186 }
34187 return true;
34188 case passportElementErrorSourceTranslationFiles::ID:
34189 if constexpr (AllowTag) {
34190 downcast_call_tag<passportElementErrorSourceTranslationFiles> type_tag;
34191 func(type_tag);
34192 } else {
34193 func(static_cast<passportElementErrorSourceTranslationFiles &>(*obj));
34194 }
34195 return true;
34196 case passportElementErrorSourceFile::ID:
34197 if constexpr (AllowTag) {
34198 downcast_call_tag<passportElementErrorSourceFile> type_tag;
34199 func(type_tag);
34200 } else {
34201 func(static_cast<passportElementErrorSourceFile &>(*obj));
34202 }
34203 return true;
34204 case passportElementErrorSourceFiles::ID:
34205 if constexpr (AllowTag) {
34206 downcast_call_tag<passportElementErrorSourceFiles> type_tag;
34207 func(type_tag);
34208 } else {
34209 func(static_cast<passportElementErrorSourceFiles &>(*obj));
34210 }
34211 return true;
34212 default:
34213 return false;
34214 }
34215}

◆ downcast_call_impl() [127/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PassportElementType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34237 of file td_api.hpp.

34237 { //-V2008
34238 switch (constructor) {
34239 case passportElementTypePersonalDetails::ID:
34240 if constexpr (AllowTag) {
34241 downcast_call_tag<passportElementTypePersonalDetails> type_tag;
34242 func(type_tag);
34243 } else {
34244 func(static_cast<passportElementTypePersonalDetails &>(*obj));
34245 }
34246 return true;
34247 case passportElementTypePassport::ID:
34248 if constexpr (AllowTag) {
34249 downcast_call_tag<passportElementTypePassport> type_tag;
34250 func(type_tag);
34251 } else {
34252 func(static_cast<passportElementTypePassport &>(*obj));
34253 }
34254 return true;
34255 case passportElementTypeDriverLicense::ID:
34256 if constexpr (AllowTag) {
34257 downcast_call_tag<passportElementTypeDriverLicense> type_tag;
34258 func(type_tag);
34259 } else {
34260 func(static_cast<passportElementTypeDriverLicense &>(*obj));
34261 }
34262 return true;
34263 case passportElementTypeIdentityCard::ID:
34264 if constexpr (AllowTag) {
34265 downcast_call_tag<passportElementTypeIdentityCard> type_tag;
34266 func(type_tag);
34267 } else {
34268 func(static_cast<passportElementTypeIdentityCard &>(*obj));
34269 }
34270 return true;
34271 case passportElementTypeInternalPassport::ID:
34272 if constexpr (AllowTag) {
34273 downcast_call_tag<passportElementTypeInternalPassport> type_tag;
34274 func(type_tag);
34275 } else {
34276 func(static_cast<passportElementTypeInternalPassport &>(*obj));
34277 }
34278 return true;
34279 case passportElementTypeAddress::ID:
34280 if constexpr (AllowTag) {
34281 downcast_call_tag<passportElementTypeAddress> type_tag;
34282 func(type_tag);
34283 } else {
34284 func(static_cast<passportElementTypeAddress &>(*obj));
34285 }
34286 return true;
34287 case passportElementTypeUtilityBill::ID:
34288 if constexpr (AllowTag) {
34289 downcast_call_tag<passportElementTypeUtilityBill> type_tag;
34290 func(type_tag);
34291 } else {
34292 func(static_cast<passportElementTypeUtilityBill &>(*obj));
34293 }
34294 return true;
34295 case passportElementTypeBankStatement::ID:
34296 if constexpr (AllowTag) {
34297 downcast_call_tag<passportElementTypeBankStatement> type_tag;
34298 func(type_tag);
34299 } else {
34300 func(static_cast<passportElementTypeBankStatement &>(*obj));
34301 }
34302 return true;
34303 case passportElementTypeRentalAgreement::ID:
34304 if constexpr (AllowTag) {
34305 downcast_call_tag<passportElementTypeRentalAgreement> type_tag;
34306 func(type_tag);
34307 } else {
34308 func(static_cast<passportElementTypeRentalAgreement &>(*obj));
34309 }
34310 return true;
34311 case passportElementTypePassportRegistration::ID:
34312 if constexpr (AllowTag) {
34313 downcast_call_tag<passportElementTypePassportRegistration> type_tag;
34314 func(type_tag);
34315 } else {
34316 func(static_cast<passportElementTypePassportRegistration &>(*obj));
34317 }
34318 return true;
34319 case passportElementTypeTemporaryRegistration::ID:
34320 if constexpr (AllowTag) {
34321 downcast_call_tag<passportElementTypeTemporaryRegistration> type_tag;
34322 func(type_tag);
34323 } else {
34324 func(static_cast<passportElementTypeTemporaryRegistration &>(*obj));
34325 }
34326 return true;
34327 case passportElementTypePhoneNumber::ID:
34328 if constexpr (AllowTag) {
34329 downcast_call_tag<passportElementTypePhoneNumber> type_tag;
34330 func(type_tag);
34331 } else {
34332 func(static_cast<passportElementTypePhoneNumber &>(*obj));
34333 }
34334 return true;
34335 case passportElementTypeEmailAddress::ID:
34336 if constexpr (AllowTag) {
34337 downcast_call_tag<passportElementTypeEmailAddress> type_tag;
34338 func(type_tag);
34339 } else {
34340 func(static_cast<passportElementTypeEmailAddress &>(*obj));
34341 }
34342 return true;
34343 default:
34344 return false;
34345 }
34346}

◆ downcast_call_impl() [128/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PaymentFormType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34368 of file td_api.hpp.

34368 { //-V2008
34369 switch (constructor) {
34370 case paymentFormTypeRegular::ID:
34371 if constexpr (AllowTag) {
34372 downcast_call_tag<paymentFormTypeRegular> type_tag;
34373 func(type_tag);
34374 } else {
34375 func(static_cast<paymentFormTypeRegular &>(*obj));
34376 }
34377 return true;
34378 case paymentFormTypeStars::ID:
34379 if constexpr (AllowTag) {
34380 downcast_call_tag<paymentFormTypeStars> type_tag;
34381 func(type_tag);
34382 } else {
34383 func(static_cast<paymentFormTypeStars &>(*obj));
34384 }
34385 return true;
34386 case paymentFormTypeStarSubscription::ID:
34387 if constexpr (AllowTag) {
34388 downcast_call_tag<paymentFormTypeStarSubscription> type_tag;
34389 func(type_tag);
34390 } else {
34391 func(static_cast<paymentFormTypeStarSubscription &>(*obj));
34392 }
34393 return true;
34394 default:
34395 return false;
34396 }
34397}

◆ downcast_call_impl() [129/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PaymentProvider obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34419 of file td_api.hpp.

34419 { //-V2008
34420 switch (constructor) {
34421 case paymentProviderSmartGlocal::ID:
34422 if constexpr (AllowTag) {
34423 downcast_call_tag<paymentProviderSmartGlocal> type_tag;
34424 func(type_tag);
34425 } else {
34426 func(static_cast<paymentProviderSmartGlocal &>(*obj));
34427 }
34428 return true;
34429 case paymentProviderStripe::ID:
34430 if constexpr (AllowTag) {
34431 downcast_call_tag<paymentProviderStripe> type_tag;
34432 func(type_tag);
34433 } else {
34434 func(static_cast<paymentProviderStripe &>(*obj));
34435 }
34436 return true;
34437 case paymentProviderOther::ID:
34438 if constexpr (AllowTag) {
34439 downcast_call_tag<paymentProviderOther> type_tag;
34440 func(type_tag);
34441 } else {
34442 func(static_cast<paymentProviderOther &>(*obj));
34443 }
34444 return true;
34445 default:
34446 return false;
34447 }
34448}

◆ downcast_call_impl() [130/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PaymentReceiptType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34470 of file td_api.hpp.

34470 { //-V2008
34471 switch (constructor) {
34472 case paymentReceiptTypeRegular::ID:
34473 if constexpr (AllowTag) {
34474 downcast_call_tag<paymentReceiptTypeRegular> type_tag;
34475 func(type_tag);
34476 } else {
34477 func(static_cast<paymentReceiptTypeRegular &>(*obj));
34478 }
34479 return true;
34480 case paymentReceiptTypeStars::ID:
34481 if constexpr (AllowTag) {
34482 downcast_call_tag<paymentReceiptTypeStars> type_tag;
34483 func(type_tag);
34484 } else {
34485 func(static_cast<paymentReceiptTypeStars &>(*obj));
34486 }
34487 return true;
34488 default:
34489 return false;
34490 }
34491}

◆ downcast_call_impl() [131/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PhoneNumberCodeType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34513 of file td_api.hpp.

34513 { //-V2008
34514 switch (constructor) {
34515 case phoneNumberCodeTypeChange::ID:
34516 if constexpr (AllowTag) {
34517 downcast_call_tag<phoneNumberCodeTypeChange> type_tag;
34518 func(type_tag);
34519 } else {
34520 func(static_cast<phoneNumberCodeTypeChange &>(*obj));
34521 }
34522 return true;
34523 case phoneNumberCodeTypeVerify::ID:
34524 if constexpr (AllowTag) {
34525 downcast_call_tag<phoneNumberCodeTypeVerify> type_tag;
34526 func(type_tag);
34527 } else {
34528 func(static_cast<phoneNumberCodeTypeVerify &>(*obj));
34529 }
34530 return true;
34531 case phoneNumberCodeTypeConfirmOwnership::ID:
34532 if constexpr (AllowTag) {
34533 downcast_call_tag<phoneNumberCodeTypeConfirmOwnership> type_tag;
34534 func(type_tag);
34535 } else {
34536 func(static_cast<phoneNumberCodeTypeConfirmOwnership &>(*obj));
34537 }
34538 return true;
34539 default:
34540 return false;
34541 }
34542}

◆ downcast_call_impl() [132/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PollType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34564 of file td_api.hpp.

34564 { //-V2008
34565 switch (constructor) {
34566 case pollTypeRegular::ID:
34567 if constexpr (AllowTag) {
34568 downcast_call_tag<pollTypeRegular> type_tag;
34569 func(type_tag);
34570 } else {
34571 func(static_cast<pollTypeRegular &>(*obj));
34572 }
34573 return true;
34574 case pollTypeQuiz::ID:
34575 if constexpr (AllowTag) {
34576 downcast_call_tag<pollTypeQuiz> type_tag;
34577 func(type_tag);
34578 } else {
34579 func(static_cast<pollTypeQuiz &>(*obj));
34580 }
34581 return true;
34582 default:
34583 return false;
34584 }
34585}

◆ downcast_call_impl() [133/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PollVoteRestrictionReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34607 of file td_api.hpp.

34607 { //-V2008
34608 switch (constructor) {
34609 case pollVoteRestrictionReasonMembershipRequired::ID:
34610 if constexpr (AllowTag) {
34611 downcast_call_tag<pollVoteRestrictionReasonMembershipRequired> type_tag;
34612 func(type_tag);
34613 } else {
34614 func(static_cast<pollVoteRestrictionReasonMembershipRequired &>(*obj));
34615 }
34616 return true;
34617 case pollVoteRestrictionReasonOther::ID:
34618 if constexpr (AllowTag) {
34619 downcast_call_tag<pollVoteRestrictionReasonOther> type_tag;
34620 func(type_tag);
34621 } else {
34622 func(static_cast<pollVoteRestrictionReasonOther &>(*obj));
34623 }
34624 return true;
34625 default:
34626 return false;
34627 }
34628}

◆ downcast_call_impl() [134/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PremiumFeature obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34650 of file td_api.hpp.

34650 { //-V2008
34651 switch (constructor) {
34652 case premiumFeatureIncreasedLimits::ID:
34653 if constexpr (AllowTag) {
34654 downcast_call_tag<premiumFeatureIncreasedLimits> type_tag;
34655 func(type_tag);
34656 } else {
34657 func(static_cast<premiumFeatureIncreasedLimits &>(*obj));
34658 }
34659 return true;
34660 case premiumFeatureIncreasedUploadFileSize::ID:
34661 if constexpr (AllowTag) {
34662 downcast_call_tag<premiumFeatureIncreasedUploadFileSize> type_tag;
34663 func(type_tag);
34664 } else {
34665 func(static_cast<premiumFeatureIncreasedUploadFileSize &>(*obj));
34666 }
34667 return true;
34668 case premiumFeatureImprovedDownloadSpeed::ID:
34669 if constexpr (AllowTag) {
34670 downcast_call_tag<premiumFeatureImprovedDownloadSpeed> type_tag;
34671 func(type_tag);
34672 } else {
34673 func(static_cast<premiumFeatureImprovedDownloadSpeed &>(*obj));
34674 }
34675 return true;
34676 case premiumFeatureVoiceRecognition::ID:
34677 if constexpr (AllowTag) {
34678 downcast_call_tag<premiumFeatureVoiceRecognition> type_tag;
34679 func(type_tag);
34680 } else {
34681 func(static_cast<premiumFeatureVoiceRecognition &>(*obj));
34682 }
34683 return true;
34684 case premiumFeatureDisabledAds::ID:
34685 if constexpr (AllowTag) {
34686 downcast_call_tag<premiumFeatureDisabledAds> type_tag;
34687 func(type_tag);
34688 } else {
34689 func(static_cast<premiumFeatureDisabledAds &>(*obj));
34690 }
34691 return true;
34692 case premiumFeatureUniqueReactions::ID:
34693 if constexpr (AllowTag) {
34694 downcast_call_tag<premiumFeatureUniqueReactions> type_tag;
34695 func(type_tag);
34696 } else {
34697 func(static_cast<premiumFeatureUniqueReactions &>(*obj));
34698 }
34699 return true;
34700 case premiumFeatureUniqueStickers::ID:
34701 if constexpr (AllowTag) {
34702 downcast_call_tag<premiumFeatureUniqueStickers> type_tag;
34703 func(type_tag);
34704 } else {
34705 func(static_cast<premiumFeatureUniqueStickers &>(*obj));
34706 }
34707 return true;
34708 case premiumFeatureCustomEmoji::ID:
34709 if constexpr (AllowTag) {
34710 downcast_call_tag<premiumFeatureCustomEmoji> type_tag;
34711 func(type_tag);
34712 } else {
34713 func(static_cast<premiumFeatureCustomEmoji &>(*obj));
34714 }
34715 return true;
34716 case premiumFeatureAdvancedChatManagement::ID:
34717 if constexpr (AllowTag) {
34718 downcast_call_tag<premiumFeatureAdvancedChatManagement> type_tag;
34719 func(type_tag);
34720 } else {
34721 func(static_cast<premiumFeatureAdvancedChatManagement &>(*obj));
34722 }
34723 return true;
34724 case premiumFeatureProfileBadge::ID:
34725 if constexpr (AllowTag) {
34726 downcast_call_tag<premiumFeatureProfileBadge> type_tag;
34727 func(type_tag);
34728 } else {
34729 func(static_cast<premiumFeatureProfileBadge &>(*obj));
34730 }
34731 return true;
34732 case premiumFeatureEmojiStatus::ID:
34733 if constexpr (AllowTag) {
34734 downcast_call_tag<premiumFeatureEmojiStatus> type_tag;
34735 func(type_tag);
34736 } else {
34737 func(static_cast<premiumFeatureEmojiStatus &>(*obj));
34738 }
34739 return true;
34740 case premiumFeatureAnimatedProfilePhoto::ID:
34741 if constexpr (AllowTag) {
34742 downcast_call_tag<premiumFeatureAnimatedProfilePhoto> type_tag;
34743 func(type_tag);
34744 } else {
34745 func(static_cast<premiumFeatureAnimatedProfilePhoto &>(*obj));
34746 }
34747 return true;
34748 case premiumFeatureForumTopicIcon::ID:
34749 if constexpr (AllowTag) {
34750 downcast_call_tag<premiumFeatureForumTopicIcon> type_tag;
34751 func(type_tag);
34752 } else {
34753 func(static_cast<premiumFeatureForumTopicIcon &>(*obj));
34754 }
34755 return true;
34756 case premiumFeatureAppIcons::ID:
34757 if constexpr (AllowTag) {
34758 downcast_call_tag<premiumFeatureAppIcons> type_tag;
34759 func(type_tag);
34760 } else {
34761 func(static_cast<premiumFeatureAppIcons &>(*obj));
34762 }
34763 return true;
34764 case premiumFeatureRealTimeChatTranslation::ID:
34765 if constexpr (AllowTag) {
34766 downcast_call_tag<premiumFeatureRealTimeChatTranslation> type_tag;
34767 func(type_tag);
34768 } else {
34769 func(static_cast<premiumFeatureRealTimeChatTranslation &>(*obj));
34770 }
34771 return true;
34772 case premiumFeatureUpgradedStories::ID:
34773 if constexpr (AllowTag) {
34774 downcast_call_tag<premiumFeatureUpgradedStories> type_tag;
34775 func(type_tag);
34776 } else {
34777 func(static_cast<premiumFeatureUpgradedStories &>(*obj));
34778 }
34779 return true;
34780 case premiumFeatureChatBoost::ID:
34781 if constexpr (AllowTag) {
34782 downcast_call_tag<premiumFeatureChatBoost> type_tag;
34783 func(type_tag);
34784 } else {
34785 func(static_cast<premiumFeatureChatBoost &>(*obj));
34786 }
34787 return true;
34788 case premiumFeatureAccentColor::ID:
34789 if constexpr (AllowTag) {
34790 downcast_call_tag<premiumFeatureAccentColor> type_tag;
34791 func(type_tag);
34792 } else {
34793 func(static_cast<premiumFeatureAccentColor &>(*obj));
34794 }
34795 return true;
34796 case premiumFeatureBackgroundForBoth::ID:
34797 if constexpr (AllowTag) {
34798 downcast_call_tag<premiumFeatureBackgroundForBoth> type_tag;
34799 func(type_tag);
34800 } else {
34801 func(static_cast<premiumFeatureBackgroundForBoth &>(*obj));
34802 }
34803 return true;
34804 case premiumFeatureSavedMessagesTags::ID:
34805 if constexpr (AllowTag) {
34806 downcast_call_tag<premiumFeatureSavedMessagesTags> type_tag;
34807 func(type_tag);
34808 } else {
34809 func(static_cast<premiumFeatureSavedMessagesTags &>(*obj));
34810 }
34811 return true;
34812 case premiumFeatureMessagePrivacy::ID:
34813 if constexpr (AllowTag) {
34814 downcast_call_tag<premiumFeatureMessagePrivacy> type_tag;
34815 func(type_tag);
34816 } else {
34817 func(static_cast<premiumFeatureMessagePrivacy &>(*obj));
34818 }
34819 return true;
34820 case premiumFeatureLastSeenTimes::ID:
34821 if constexpr (AllowTag) {
34822 downcast_call_tag<premiumFeatureLastSeenTimes> type_tag;
34823 func(type_tag);
34824 } else {
34825 func(static_cast<premiumFeatureLastSeenTimes &>(*obj));
34826 }
34827 return true;
34828 case premiumFeatureBusiness::ID:
34829 if constexpr (AllowTag) {
34830 downcast_call_tag<premiumFeatureBusiness> type_tag;
34831 func(type_tag);
34832 } else {
34833 func(static_cast<premiumFeatureBusiness &>(*obj));
34834 }
34835 return true;
34836 case premiumFeatureMessageEffects::ID:
34837 if constexpr (AllowTag) {
34838 downcast_call_tag<premiumFeatureMessageEffects> type_tag;
34839 func(type_tag);
34840 } else {
34841 func(static_cast<premiumFeatureMessageEffects &>(*obj));
34842 }
34843 return true;
34844 case premiumFeatureChecklists::ID:
34845 if constexpr (AllowTag) {
34846 downcast_call_tag<premiumFeatureChecklists> type_tag;
34847 func(type_tag);
34848 } else {
34849 func(static_cast<premiumFeatureChecklists &>(*obj));
34850 }
34851 return true;
34852 case premiumFeaturePaidMessages::ID:
34853 if constexpr (AllowTag) {
34854 downcast_call_tag<premiumFeaturePaidMessages> type_tag;
34855 func(type_tag);
34856 } else {
34857 func(static_cast<premiumFeaturePaidMessages &>(*obj));
34858 }
34859 return true;
34860 case premiumFeatureProtectPrivateChatContent::ID:
34861 if constexpr (AllowTag) {
34862 downcast_call_tag<premiumFeatureProtectPrivateChatContent> type_tag;
34863 func(type_tag);
34864 } else {
34865 func(static_cast<premiumFeatureProtectPrivateChatContent &>(*obj));
34866 }
34867 return true;
34868 case premiumFeatureTextComposition::ID:
34869 if constexpr (AllowTag) {
34870 downcast_call_tag<premiumFeatureTextComposition> type_tag;
34871 func(type_tag);
34872 } else {
34873 func(static_cast<premiumFeatureTextComposition &>(*obj));
34874 }
34875 return true;
34876 default:
34877 return false;
34878 }
34879}

◆ downcast_call_impl() [135/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PremiumLimitType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 34901 of file td_api.hpp.

34901 { //-V2008
34902 switch (constructor) {
34903 case premiumLimitTypeSupergroupCount::ID:
34904 if constexpr (AllowTag) {
34905 downcast_call_tag<premiumLimitTypeSupergroupCount> type_tag;
34906 func(type_tag);
34907 } else {
34908 func(static_cast<premiumLimitTypeSupergroupCount &>(*obj));
34909 }
34910 return true;
34911 case premiumLimitTypePinnedChatCount::ID:
34912 if constexpr (AllowTag) {
34913 downcast_call_tag<premiumLimitTypePinnedChatCount> type_tag;
34914 func(type_tag);
34915 } else {
34916 func(static_cast<premiumLimitTypePinnedChatCount &>(*obj));
34917 }
34918 return true;
34919 case premiumLimitTypeCreatedPublicChatCount::ID:
34920 if constexpr (AllowTag) {
34921 downcast_call_tag<premiumLimitTypeCreatedPublicChatCount> type_tag;
34922 func(type_tag);
34923 } else {
34924 func(static_cast<premiumLimitTypeCreatedPublicChatCount &>(*obj));
34925 }
34926 return true;
34927 case premiumLimitTypeSavedAnimationCount::ID:
34928 if constexpr (AllowTag) {
34929 downcast_call_tag<premiumLimitTypeSavedAnimationCount> type_tag;
34930 func(type_tag);
34931 } else {
34932 func(static_cast<premiumLimitTypeSavedAnimationCount &>(*obj));
34933 }
34934 return true;
34935 case premiumLimitTypeFavoriteStickerCount::ID:
34936 if constexpr (AllowTag) {
34937 downcast_call_tag<premiumLimitTypeFavoriteStickerCount> type_tag;
34938 func(type_tag);
34939 } else {
34940 func(static_cast<premiumLimitTypeFavoriteStickerCount &>(*obj));
34941 }
34942 return true;
34943 case premiumLimitTypeChatFolderCount::ID:
34944 if constexpr (AllowTag) {
34945 downcast_call_tag<premiumLimitTypeChatFolderCount> type_tag;
34946 func(type_tag);
34947 } else {
34948 func(static_cast<premiumLimitTypeChatFolderCount &>(*obj));
34949 }
34950 return true;
34951 case premiumLimitTypeChatFolderChosenChatCount::ID:
34952 if constexpr (AllowTag) {
34953 downcast_call_tag<premiumLimitTypeChatFolderChosenChatCount> type_tag;
34954 func(type_tag);
34955 } else {
34956 func(static_cast<premiumLimitTypeChatFolderChosenChatCount &>(*obj));
34957 }
34958 return true;
34959 case premiumLimitTypePinnedArchivedChatCount::ID:
34960 if constexpr (AllowTag) {
34961 downcast_call_tag<premiumLimitTypePinnedArchivedChatCount> type_tag;
34962 func(type_tag);
34963 } else {
34964 func(static_cast<premiumLimitTypePinnedArchivedChatCount &>(*obj));
34965 }
34966 return true;
34967 case premiumLimitTypePinnedSavedMessagesTopicCount::ID:
34968 if constexpr (AllowTag) {
34969 downcast_call_tag<premiumLimitTypePinnedSavedMessagesTopicCount> type_tag;
34970 func(type_tag);
34971 } else {
34972 func(static_cast<premiumLimitTypePinnedSavedMessagesTopicCount &>(*obj));
34973 }
34974 return true;
34975 case premiumLimitTypeCaptionLength::ID:
34976 if constexpr (AllowTag) {
34977 downcast_call_tag<premiumLimitTypeCaptionLength> type_tag;
34978 func(type_tag);
34979 } else {
34980 func(static_cast<premiumLimitTypeCaptionLength &>(*obj));
34981 }
34982 return true;
34983 case premiumLimitTypeBioLength::ID:
34984 if constexpr (AllowTag) {
34985 downcast_call_tag<premiumLimitTypeBioLength> type_tag;
34986 func(type_tag);
34987 } else {
34988 func(static_cast<premiumLimitTypeBioLength &>(*obj));
34989 }
34990 return true;
34991 case premiumLimitTypeChatFolderInviteLinkCount::ID:
34992 if constexpr (AllowTag) {
34993 downcast_call_tag<premiumLimitTypeChatFolderInviteLinkCount> type_tag;
34994 func(type_tag);
34995 } else {
34996 func(static_cast<premiumLimitTypeChatFolderInviteLinkCount &>(*obj));
34997 }
34998 return true;
34999 case premiumLimitTypeShareableChatFolderCount::ID:
35000 if constexpr (AllowTag) {
35001 downcast_call_tag<premiumLimitTypeShareableChatFolderCount> type_tag;
35002 func(type_tag);
35003 } else {
35004 func(static_cast<premiumLimitTypeShareableChatFolderCount &>(*obj));
35005 }
35006 return true;
35007 case premiumLimitTypeActiveStoryCount::ID:
35008 if constexpr (AllowTag) {
35009 downcast_call_tag<premiumLimitTypeActiveStoryCount> type_tag;
35010 func(type_tag);
35011 } else {
35012 func(static_cast<premiumLimitTypeActiveStoryCount &>(*obj));
35013 }
35014 return true;
35015 case premiumLimitTypeWeeklyPostedStoryCount::ID:
35016 if constexpr (AllowTag) {
35017 downcast_call_tag<premiumLimitTypeWeeklyPostedStoryCount> type_tag;
35018 func(type_tag);
35019 } else {
35020 func(static_cast<premiumLimitTypeWeeklyPostedStoryCount &>(*obj));
35021 }
35022 return true;
35023 case premiumLimitTypeMonthlyPostedStoryCount::ID:
35024 if constexpr (AllowTag) {
35025 downcast_call_tag<premiumLimitTypeMonthlyPostedStoryCount> type_tag;
35026 func(type_tag);
35027 } else {
35028 func(static_cast<premiumLimitTypeMonthlyPostedStoryCount &>(*obj));
35029 }
35030 return true;
35031 case premiumLimitTypeStoryCaptionLength::ID:
35032 if constexpr (AllowTag) {
35033 downcast_call_tag<premiumLimitTypeStoryCaptionLength> type_tag;
35034 func(type_tag);
35035 } else {
35036 func(static_cast<premiumLimitTypeStoryCaptionLength &>(*obj));
35037 }
35038 return true;
35039 case premiumLimitTypeStorySuggestedReactionAreaCount::ID:
35040 if constexpr (AllowTag) {
35041 downcast_call_tag<premiumLimitTypeStorySuggestedReactionAreaCount> type_tag;
35042 func(type_tag);
35043 } else {
35044 func(static_cast<premiumLimitTypeStorySuggestedReactionAreaCount &>(*obj));
35045 }
35046 return true;
35047 case premiumLimitTypeSimilarChatCount::ID:
35048 if constexpr (AllowTag) {
35049 downcast_call_tag<premiumLimitTypeSimilarChatCount> type_tag;
35050 func(type_tag);
35051 } else {
35052 func(static_cast<premiumLimitTypeSimilarChatCount &>(*obj));
35053 }
35054 return true;
35055 case premiumLimitTypeOwnedBotCount::ID:
35056 if constexpr (AllowTag) {
35057 downcast_call_tag<premiumLimitTypeOwnedBotCount> type_tag;
35058 func(type_tag);
35059 } else {
35060 func(static_cast<premiumLimitTypeOwnedBotCount &>(*obj));
35061 }
35062 return true;
35063 case premiumLimitTypeCustomTextCompositionStyleCount::ID:
35064 if constexpr (AllowTag) {
35065 downcast_call_tag<premiumLimitTypeCustomTextCompositionStyleCount> type_tag;
35066 func(type_tag);
35067 } else {
35068 func(static_cast<premiumLimitTypeCustomTextCompositionStyleCount &>(*obj));
35069 }
35070 return true;
35071 default:
35072 return false;
35073 }
35074}

◆ downcast_call_impl() [136/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PremiumSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35096 of file td_api.hpp.

35096 { //-V2008
35097 switch (constructor) {
35098 case premiumSourceLimitExceeded::ID:
35099 if constexpr (AllowTag) {
35100 downcast_call_tag<premiumSourceLimitExceeded> type_tag;
35101 func(type_tag);
35102 } else {
35103 func(static_cast<premiumSourceLimitExceeded &>(*obj));
35104 }
35105 return true;
35106 case premiumSourceFeature::ID:
35107 if constexpr (AllowTag) {
35108 downcast_call_tag<premiumSourceFeature> type_tag;
35109 func(type_tag);
35110 } else {
35111 func(static_cast<premiumSourceFeature &>(*obj));
35112 }
35113 return true;
35114 case premiumSourceBusinessFeature::ID:
35115 if constexpr (AllowTag) {
35116 downcast_call_tag<premiumSourceBusinessFeature> type_tag;
35117 func(type_tag);
35118 } else {
35119 func(static_cast<premiumSourceBusinessFeature &>(*obj));
35120 }
35121 return true;
35122 case premiumSourceStoryFeature::ID:
35123 if constexpr (AllowTag) {
35124 downcast_call_tag<premiumSourceStoryFeature> type_tag;
35125 func(type_tag);
35126 } else {
35127 func(static_cast<premiumSourceStoryFeature &>(*obj));
35128 }
35129 return true;
35130 case premiumSourceLink::ID:
35131 if constexpr (AllowTag) {
35132 downcast_call_tag<premiumSourceLink> type_tag;
35133 func(type_tag);
35134 } else {
35135 func(static_cast<premiumSourceLink &>(*obj));
35136 }
35137 return true;
35138 case premiumSourceSettings::ID:
35139 if constexpr (AllowTag) {
35140 downcast_call_tag<premiumSourceSettings> type_tag;
35141 func(type_tag);
35142 } else {
35143 func(static_cast<premiumSourceSettings &>(*obj));
35144 }
35145 return true;
35146 default:
35147 return false;
35148 }
35149}

◆ downcast_call_impl() [137/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PremiumStoryFeature obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35171 of file td_api.hpp.

35171 { //-V2008
35172 switch (constructor) {
35173 case premiumStoryFeaturePriorityOrder::ID:
35174 if constexpr (AllowTag) {
35175 downcast_call_tag<premiumStoryFeaturePriorityOrder> type_tag;
35176 func(type_tag);
35177 } else {
35178 func(static_cast<premiumStoryFeaturePriorityOrder &>(*obj));
35179 }
35180 return true;
35181 case premiumStoryFeatureStealthMode::ID:
35182 if constexpr (AllowTag) {
35183 downcast_call_tag<premiumStoryFeatureStealthMode> type_tag;
35184 func(type_tag);
35185 } else {
35186 func(static_cast<premiumStoryFeatureStealthMode &>(*obj));
35187 }
35188 return true;
35189 case premiumStoryFeaturePermanentViewsHistory::ID:
35190 if constexpr (AllowTag) {
35191 downcast_call_tag<premiumStoryFeaturePermanentViewsHistory> type_tag;
35192 func(type_tag);
35193 } else {
35194 func(static_cast<premiumStoryFeaturePermanentViewsHistory &>(*obj));
35195 }
35196 return true;
35197 case premiumStoryFeatureCustomExpirationDuration::ID:
35198 if constexpr (AllowTag) {
35199 downcast_call_tag<premiumStoryFeatureCustomExpirationDuration> type_tag;
35200 func(type_tag);
35201 } else {
35202 func(static_cast<premiumStoryFeatureCustomExpirationDuration &>(*obj));
35203 }
35204 return true;
35205 case premiumStoryFeatureSaveStories::ID:
35206 if constexpr (AllowTag) {
35207 downcast_call_tag<premiumStoryFeatureSaveStories> type_tag;
35208 func(type_tag);
35209 } else {
35210 func(static_cast<premiumStoryFeatureSaveStories &>(*obj));
35211 }
35212 return true;
35213 case premiumStoryFeatureLinksAndFormatting::ID:
35214 if constexpr (AllowTag) {
35215 downcast_call_tag<premiumStoryFeatureLinksAndFormatting> type_tag;
35216 func(type_tag);
35217 } else {
35218 func(static_cast<premiumStoryFeatureLinksAndFormatting &>(*obj));
35219 }
35220 return true;
35221 case premiumStoryFeatureVideoQuality::ID:
35222 if constexpr (AllowTag) {
35223 downcast_call_tag<premiumStoryFeatureVideoQuality> type_tag;
35224 func(type_tag);
35225 } else {
35226 func(static_cast<premiumStoryFeatureVideoQuality &>(*obj));
35227 }
35228 return true;
35229 default:
35230 return false;
35231 }
35232}

◆ downcast_call_impl() [138/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ProfileTab obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35254 of file td_api.hpp.

35254 { //-V2008
35255 switch (constructor) {
35256 case profileTabPosts::ID:
35257 if constexpr (AllowTag) {
35258 downcast_call_tag<profileTabPosts> type_tag;
35259 func(type_tag);
35260 } else {
35261 func(static_cast<profileTabPosts &>(*obj));
35262 }
35263 return true;
35264 case profileTabGifts::ID:
35265 if constexpr (AllowTag) {
35266 downcast_call_tag<profileTabGifts> type_tag;
35267 func(type_tag);
35268 } else {
35269 func(static_cast<profileTabGifts &>(*obj));
35270 }
35271 return true;
35272 case profileTabMedia::ID:
35273 if constexpr (AllowTag) {
35274 downcast_call_tag<profileTabMedia> type_tag;
35275 func(type_tag);
35276 } else {
35277 func(static_cast<profileTabMedia &>(*obj));
35278 }
35279 return true;
35280 case profileTabFiles::ID:
35281 if constexpr (AllowTag) {
35282 downcast_call_tag<profileTabFiles> type_tag;
35283 func(type_tag);
35284 } else {
35285 func(static_cast<profileTabFiles &>(*obj));
35286 }
35287 return true;
35288 case profileTabLinks::ID:
35289 if constexpr (AllowTag) {
35290 downcast_call_tag<profileTabLinks> type_tag;
35291 func(type_tag);
35292 } else {
35293 func(static_cast<profileTabLinks &>(*obj));
35294 }
35295 return true;
35296 case profileTabMusic::ID:
35297 if constexpr (AllowTag) {
35298 downcast_call_tag<profileTabMusic> type_tag;
35299 func(type_tag);
35300 } else {
35301 func(static_cast<profileTabMusic &>(*obj));
35302 }
35303 return true;
35304 case profileTabVoice::ID:
35305 if constexpr (AllowTag) {
35306 downcast_call_tag<profileTabVoice> type_tag;
35307 func(type_tag);
35308 } else {
35309 func(static_cast<profileTabVoice &>(*obj));
35310 }
35311 return true;
35312 case profileTabGifs::ID:
35313 if constexpr (AllowTag) {
35314 downcast_call_tag<profileTabGifs> type_tag;
35315 func(type_tag);
35316 } else {
35317 func(static_cast<profileTabGifs &>(*obj));
35318 }
35319 return true;
35320 default:
35321 return false;
35322 }
35323}

◆ downcast_call_impl() [139/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ProxyType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35345 of file td_api.hpp.

35345 { //-V2008
35346 switch (constructor) {
35347 case proxyTypeSocks5::ID:
35348 if constexpr (AllowTag) {
35349 downcast_call_tag<proxyTypeSocks5> type_tag;
35350 func(type_tag);
35351 } else {
35352 func(static_cast<proxyTypeSocks5 &>(*obj));
35353 }
35354 return true;
35355 case proxyTypeHttp::ID:
35356 if constexpr (AllowTag) {
35357 downcast_call_tag<proxyTypeHttp> type_tag;
35358 func(type_tag);
35359 } else {
35360 func(static_cast<proxyTypeHttp &>(*obj));
35361 }
35362 return true;
35363 case proxyTypeMtproto::ID:
35364 if constexpr (AllowTag) {
35365 downcast_call_tag<proxyTypeMtproto> type_tag;
35366 func(type_tag);
35367 } else {
35368 func(static_cast<proxyTypeMtproto &>(*obj));
35369 }
35370 return true;
35371 default:
35372 return false;
35373 }
35374}

◆ downcast_call_impl() [140/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PublicChatType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35396 of file td_api.hpp.

35396 { //-V2008
35397 switch (constructor) {
35398 case publicChatTypeHasUsername::ID:
35399 if constexpr (AllowTag) {
35400 downcast_call_tag<publicChatTypeHasUsername> type_tag;
35401 func(type_tag);
35402 } else {
35403 func(static_cast<publicChatTypeHasUsername &>(*obj));
35404 }
35405 return true;
35406 case publicChatTypeIsLocationBased::ID:
35407 if constexpr (AllowTag) {
35408 downcast_call_tag<publicChatTypeIsLocationBased> type_tag;
35409 func(type_tag);
35410 } else {
35411 func(static_cast<publicChatTypeIsLocationBased &>(*obj));
35412 }
35413 return true;
35414 default:
35415 return false;
35416 }
35417}

◆ downcast_call_impl() [141/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PublicForward obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35439 of file td_api.hpp.

35439 { //-V2008
35440 switch (constructor) {
35441 case publicForwardMessage::ID:
35442 if constexpr (AllowTag) {
35443 downcast_call_tag<publicForwardMessage> type_tag;
35444 func(type_tag);
35445 } else {
35446 func(static_cast<publicForwardMessage &>(*obj));
35447 }
35448 return true;
35449 case publicForwardStory::ID:
35450 if constexpr (AllowTag) {
35451 downcast_call_tag<publicForwardStory> type_tag;
35452 func(type_tag);
35453 } else {
35454 func(static_cast<publicForwardStory &>(*obj));
35455 }
35456 return true;
35457 default:
35458 return false;
35459 }
35460}

◆ downcast_call_impl() [142/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
PushMessageContent obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35482 of file td_api.hpp.

35482 { //-V2008
35483 switch (constructor) {
35484 case pushMessageContentHidden::ID:
35485 if constexpr (AllowTag) {
35486 downcast_call_tag<pushMessageContentHidden> type_tag;
35487 func(type_tag);
35488 } else {
35489 func(static_cast<pushMessageContentHidden &>(*obj));
35490 }
35491 return true;
35492 case pushMessageContentAnimation::ID:
35493 if constexpr (AllowTag) {
35494 downcast_call_tag<pushMessageContentAnimation> type_tag;
35495 func(type_tag);
35496 } else {
35497 func(static_cast<pushMessageContentAnimation &>(*obj));
35498 }
35499 return true;
35500 case pushMessageContentAudio::ID:
35501 if constexpr (AllowTag) {
35502 downcast_call_tag<pushMessageContentAudio> type_tag;
35503 func(type_tag);
35504 } else {
35505 func(static_cast<pushMessageContentAudio &>(*obj));
35506 }
35507 return true;
35508 case pushMessageContentContact::ID:
35509 if constexpr (AllowTag) {
35510 downcast_call_tag<pushMessageContentContact> type_tag;
35511 func(type_tag);
35512 } else {
35513 func(static_cast<pushMessageContentContact &>(*obj));
35514 }
35515 return true;
35516 case pushMessageContentContactRegistered::ID:
35517 if constexpr (AllowTag) {
35518 downcast_call_tag<pushMessageContentContactRegistered> type_tag;
35519 func(type_tag);
35520 } else {
35521 func(static_cast<pushMessageContentContactRegistered &>(*obj));
35522 }
35523 return true;
35524 case pushMessageContentDocument::ID:
35525 if constexpr (AllowTag) {
35526 downcast_call_tag<pushMessageContentDocument> type_tag;
35527 func(type_tag);
35528 } else {
35529 func(static_cast<pushMessageContentDocument &>(*obj));
35530 }
35531 return true;
35532 case pushMessageContentGame::ID:
35533 if constexpr (AllowTag) {
35534 downcast_call_tag<pushMessageContentGame> type_tag;
35535 func(type_tag);
35536 } else {
35537 func(static_cast<pushMessageContentGame &>(*obj));
35538 }
35539 return true;
35540 case pushMessageContentGameScore::ID:
35541 if constexpr (AllowTag) {
35542 downcast_call_tag<pushMessageContentGameScore> type_tag;
35543 func(type_tag);
35544 } else {
35545 func(static_cast<pushMessageContentGameScore &>(*obj));
35546 }
35547 return true;
35548 case pushMessageContentInvoice::ID:
35549 if constexpr (AllowTag) {
35550 downcast_call_tag<pushMessageContentInvoice> type_tag;
35551 func(type_tag);
35552 } else {
35553 func(static_cast<pushMessageContentInvoice &>(*obj));
35554 }
35555 return true;
35556 case pushMessageContentLocation::ID:
35557 if constexpr (AllowTag) {
35558 downcast_call_tag<pushMessageContentLocation> type_tag;
35559 func(type_tag);
35560 } else {
35561 func(static_cast<pushMessageContentLocation &>(*obj));
35562 }
35563 return true;
35564 case pushMessageContentPaidMedia::ID:
35565 if constexpr (AllowTag) {
35566 downcast_call_tag<pushMessageContentPaidMedia> type_tag;
35567 func(type_tag);
35568 } else {
35569 func(static_cast<pushMessageContentPaidMedia &>(*obj));
35570 }
35571 return true;
35572 case pushMessageContentPhoto::ID:
35573 if constexpr (AllowTag) {
35574 downcast_call_tag<pushMessageContentPhoto> type_tag;
35575 func(type_tag);
35576 } else {
35577 func(static_cast<pushMessageContentPhoto &>(*obj));
35578 }
35579 return true;
35580 case pushMessageContentPoll::ID:
35581 if constexpr (AllowTag) {
35582 downcast_call_tag<pushMessageContentPoll> type_tag;
35583 func(type_tag);
35584 } else {
35585 func(static_cast<pushMessageContentPoll &>(*obj));
35586 }
35587 return true;
35588 case pushMessageContentPremiumGiftCode::ID:
35589 if constexpr (AllowTag) {
35590 downcast_call_tag<pushMessageContentPremiumGiftCode> type_tag;
35591 func(type_tag);
35592 } else {
35593 func(static_cast<pushMessageContentPremiumGiftCode &>(*obj));
35594 }
35595 return true;
35596 case pushMessageContentGiveaway::ID:
35597 if constexpr (AllowTag) {
35598 downcast_call_tag<pushMessageContentGiveaway> type_tag;
35599 func(type_tag);
35600 } else {
35601 func(static_cast<pushMessageContentGiveaway &>(*obj));
35602 }
35603 return true;
35604 case pushMessageContentGift::ID:
35605 if constexpr (AllowTag) {
35606 downcast_call_tag<pushMessageContentGift> type_tag;
35607 func(type_tag);
35608 } else {
35609 func(static_cast<pushMessageContentGift &>(*obj));
35610 }
35611 return true;
35612 case pushMessageContentUpgradedGift::ID:
35613 if constexpr (AllowTag) {
35614 downcast_call_tag<pushMessageContentUpgradedGift> type_tag;
35615 func(type_tag);
35616 } else {
35617 func(static_cast<pushMessageContentUpgradedGift &>(*obj));
35618 }
35619 return true;
35620 case pushMessageContentScreenshotTaken::ID:
35621 if constexpr (AllowTag) {
35622 downcast_call_tag<pushMessageContentScreenshotTaken> type_tag;
35623 func(type_tag);
35624 } else {
35625 func(static_cast<pushMessageContentScreenshotTaken &>(*obj));
35626 }
35627 return true;
35628 case pushMessageContentSticker::ID:
35629 if constexpr (AllowTag) {
35630 downcast_call_tag<pushMessageContentSticker> type_tag;
35631 func(type_tag);
35632 } else {
35633 func(static_cast<pushMessageContentSticker &>(*obj));
35634 }
35635 return true;
35636 case pushMessageContentStory::ID:
35637 if constexpr (AllowTag) {
35638 downcast_call_tag<pushMessageContentStory> type_tag;
35639 func(type_tag);
35640 } else {
35641 func(static_cast<pushMessageContentStory &>(*obj));
35642 }
35643 return true;
35644 case pushMessageContentText::ID:
35645 if constexpr (AllowTag) {
35646 downcast_call_tag<pushMessageContentText> type_tag;
35647 func(type_tag);
35648 } else {
35649 func(static_cast<pushMessageContentText &>(*obj));
35650 }
35651 return true;
35652 case pushMessageContentChecklist::ID:
35653 if constexpr (AllowTag) {
35654 downcast_call_tag<pushMessageContentChecklist> type_tag;
35655 func(type_tag);
35656 } else {
35657 func(static_cast<pushMessageContentChecklist &>(*obj));
35658 }
35659 return true;
35660 case pushMessageContentVideo::ID:
35661 if constexpr (AllowTag) {
35662 downcast_call_tag<pushMessageContentVideo> type_tag;
35663 func(type_tag);
35664 } else {
35665 func(static_cast<pushMessageContentVideo &>(*obj));
35666 }
35667 return true;
35668 case pushMessageContentVideoNote::ID:
35669 if constexpr (AllowTag) {
35670 downcast_call_tag<pushMessageContentVideoNote> type_tag;
35671 func(type_tag);
35672 } else {
35673 func(static_cast<pushMessageContentVideoNote &>(*obj));
35674 }
35675 return true;
35676 case pushMessageContentVoiceNote::ID:
35677 if constexpr (AllowTag) {
35678 downcast_call_tag<pushMessageContentVoiceNote> type_tag;
35679 func(type_tag);
35680 } else {
35681 func(static_cast<pushMessageContentVoiceNote &>(*obj));
35682 }
35683 return true;
35684 case pushMessageContentBasicGroupChatCreate::ID:
35685 if constexpr (AllowTag) {
35686 downcast_call_tag<pushMessageContentBasicGroupChatCreate> type_tag;
35687 func(type_tag);
35688 } else {
35689 func(static_cast<pushMessageContentBasicGroupChatCreate &>(*obj));
35690 }
35691 return true;
35692 case pushMessageContentVideoChatStarted::ID:
35693 if constexpr (AllowTag) {
35694 downcast_call_tag<pushMessageContentVideoChatStarted> type_tag;
35695 func(type_tag);
35696 } else {
35697 func(static_cast<pushMessageContentVideoChatStarted &>(*obj));
35698 }
35699 return true;
35700 case pushMessageContentVideoChatEnded::ID:
35701 if constexpr (AllowTag) {
35702 downcast_call_tag<pushMessageContentVideoChatEnded> type_tag;
35703 func(type_tag);
35704 } else {
35705 func(static_cast<pushMessageContentVideoChatEnded &>(*obj));
35706 }
35707 return true;
35708 case pushMessageContentInviteVideoChatParticipants::ID:
35709 if constexpr (AllowTag) {
35710 downcast_call_tag<pushMessageContentInviteVideoChatParticipants> type_tag;
35711 func(type_tag);
35712 } else {
35713 func(static_cast<pushMessageContentInviteVideoChatParticipants &>(*obj));
35714 }
35715 return true;
35716 case pushMessageContentChatAddMembers::ID:
35717 if constexpr (AllowTag) {
35718 downcast_call_tag<pushMessageContentChatAddMembers> type_tag;
35719 func(type_tag);
35720 } else {
35721 func(static_cast<pushMessageContentChatAddMembers &>(*obj));
35722 }
35723 return true;
35724 case pushMessageContentChatChangePhoto::ID:
35725 if constexpr (AllowTag) {
35726 downcast_call_tag<pushMessageContentChatChangePhoto> type_tag;
35727 func(type_tag);
35728 } else {
35729 func(static_cast<pushMessageContentChatChangePhoto &>(*obj));
35730 }
35731 return true;
35732 case pushMessageContentChatChangeTitle::ID:
35733 if constexpr (AllowTag) {
35734 downcast_call_tag<pushMessageContentChatChangeTitle> type_tag;
35735 func(type_tag);
35736 } else {
35737 func(static_cast<pushMessageContentChatChangeTitle &>(*obj));
35738 }
35739 return true;
35740 case pushMessageContentChatSetBackground::ID:
35741 if constexpr (AllowTag) {
35742 downcast_call_tag<pushMessageContentChatSetBackground> type_tag;
35743 func(type_tag);
35744 } else {
35745 func(static_cast<pushMessageContentChatSetBackground &>(*obj));
35746 }
35747 return true;
35748 case pushMessageContentChatSetTheme::ID:
35749 if constexpr (AllowTag) {
35750 downcast_call_tag<pushMessageContentChatSetTheme> type_tag;
35751 func(type_tag);
35752 } else {
35753 func(static_cast<pushMessageContentChatSetTheme &>(*obj));
35754 }
35755 return true;
35756 case pushMessageContentChatDeleteMember::ID:
35757 if constexpr (AllowTag) {
35758 downcast_call_tag<pushMessageContentChatDeleteMember> type_tag;
35759 func(type_tag);
35760 } else {
35761 func(static_cast<pushMessageContentChatDeleteMember &>(*obj));
35762 }
35763 return true;
35764 case pushMessageContentChatJoinByLink::ID:
35765 if constexpr (AllowTag) {
35766 downcast_call_tag<pushMessageContentChatJoinByLink> type_tag;
35767 func(type_tag);
35768 } else {
35769 func(static_cast<pushMessageContentChatJoinByLink &>(*obj));
35770 }
35771 return true;
35772 case pushMessageContentChatJoinByRequest::ID:
35773 if constexpr (AllowTag) {
35774 downcast_call_tag<pushMessageContentChatJoinByRequest> type_tag;
35775 func(type_tag);
35776 } else {
35777 func(static_cast<pushMessageContentChatJoinByRequest &>(*obj));
35778 }
35779 return true;
35780 case pushMessageContentRecurringPayment::ID:
35781 if constexpr (AllowTag) {
35782 downcast_call_tag<pushMessageContentRecurringPayment> type_tag;
35783 func(type_tag);
35784 } else {
35785 func(static_cast<pushMessageContentRecurringPayment &>(*obj));
35786 }
35787 return true;
35788 case pushMessageContentSuggestProfilePhoto::ID:
35789 if constexpr (AllowTag) {
35790 downcast_call_tag<pushMessageContentSuggestProfilePhoto> type_tag;
35791 func(type_tag);
35792 } else {
35793 func(static_cast<pushMessageContentSuggestProfilePhoto &>(*obj));
35794 }
35795 return true;
35796 case pushMessageContentSuggestBirthdate::ID:
35797 if constexpr (AllowTag) {
35798 downcast_call_tag<pushMessageContentSuggestBirthdate> type_tag;
35799 func(type_tag);
35800 } else {
35801 func(static_cast<pushMessageContentSuggestBirthdate &>(*obj));
35802 }
35803 return true;
35804 case pushMessageContentProximityAlertTriggered::ID:
35805 if constexpr (AllowTag) {
35806 downcast_call_tag<pushMessageContentProximityAlertTriggered> type_tag;
35807 func(type_tag);
35808 } else {
35809 func(static_cast<pushMessageContentProximityAlertTriggered &>(*obj));
35810 }
35811 return true;
35812 case pushMessageContentChecklistTasksAdded::ID:
35813 if constexpr (AllowTag) {
35814 downcast_call_tag<pushMessageContentChecklistTasksAdded> type_tag;
35815 func(type_tag);
35816 } else {
35817 func(static_cast<pushMessageContentChecklistTasksAdded &>(*obj));
35818 }
35819 return true;
35820 case pushMessageContentChecklistTasksDone::ID:
35821 if constexpr (AllowTag) {
35822 downcast_call_tag<pushMessageContentChecklistTasksDone> type_tag;
35823 func(type_tag);
35824 } else {
35825 func(static_cast<pushMessageContentChecklistTasksDone &>(*obj));
35826 }
35827 return true;
35828 case pushMessageContentPollOptionAdded::ID:
35829 if constexpr (AllowTag) {
35830 downcast_call_tag<pushMessageContentPollOptionAdded> type_tag;
35831 func(type_tag);
35832 } else {
35833 func(static_cast<pushMessageContentPollOptionAdded &>(*obj));
35834 }
35835 return true;
35836 case pushMessageContentMessageForwards::ID:
35837 if constexpr (AllowTag) {
35838 downcast_call_tag<pushMessageContentMessageForwards> type_tag;
35839 func(type_tag);
35840 } else {
35841 func(static_cast<pushMessageContentMessageForwards &>(*obj));
35842 }
35843 return true;
35844 case pushMessageContentMediaAlbum::ID:
35845 if constexpr (AllowTag) {
35846 downcast_call_tag<pushMessageContentMediaAlbum> type_tag;
35847 func(type_tag);
35848 } else {
35849 func(static_cast<pushMessageContentMediaAlbum &>(*obj));
35850 }
35851 return true;
35852 default:
35853 return false;
35854 }
35855}

◆ downcast_call_impl() [143/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReactionNotificationSource obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35877 of file td_api.hpp.

35877 { //-V2008
35878 switch (constructor) {
35879 case reactionNotificationSourceNone::ID:
35880 if constexpr (AllowTag) {
35881 downcast_call_tag<reactionNotificationSourceNone> type_tag;
35882 func(type_tag);
35883 } else {
35884 func(static_cast<reactionNotificationSourceNone &>(*obj));
35885 }
35886 return true;
35887 case reactionNotificationSourceContacts::ID:
35888 if constexpr (AllowTag) {
35889 downcast_call_tag<reactionNotificationSourceContacts> type_tag;
35890 func(type_tag);
35891 } else {
35892 func(static_cast<reactionNotificationSourceContacts &>(*obj));
35893 }
35894 return true;
35895 case reactionNotificationSourceAll::ID:
35896 if constexpr (AllowTag) {
35897 downcast_call_tag<reactionNotificationSourceAll> type_tag;
35898 func(type_tag);
35899 } else {
35900 func(static_cast<reactionNotificationSourceAll &>(*obj));
35901 }
35902 return true;
35903 default:
35904 return false;
35905 }
35906}

◆ downcast_call_impl() [144/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReactionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35928 of file td_api.hpp.

35928 { //-V2008
35929 switch (constructor) {
35930 case reactionTypeEmoji::ID:
35931 if constexpr (AllowTag) {
35932 downcast_call_tag<reactionTypeEmoji> type_tag;
35933 func(type_tag);
35934 } else {
35935 func(static_cast<reactionTypeEmoji &>(*obj));
35936 }
35937 return true;
35938 case reactionTypeCustomEmoji::ID:
35939 if constexpr (AllowTag) {
35940 downcast_call_tag<reactionTypeCustomEmoji> type_tag;
35941 func(type_tag);
35942 } else {
35943 func(static_cast<reactionTypeCustomEmoji &>(*obj));
35944 }
35945 return true;
35946 case reactionTypePaid::ID:
35947 if constexpr (AllowTag) {
35948 downcast_call_tag<reactionTypePaid> type_tag;
35949 func(type_tag);
35950 } else {
35951 func(static_cast<reactionTypePaid &>(*obj));
35952 }
35953 return true;
35954 default:
35955 return false;
35956 }
35957}

◆ downcast_call_impl() [145/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReactionUnavailabilityReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 35979 of file td_api.hpp.

35979 { //-V2008
35980 switch (constructor) {
35981 case reactionUnavailabilityReasonAnonymousAdministrator::ID:
35982 if constexpr (AllowTag) {
35983 downcast_call_tag<reactionUnavailabilityReasonAnonymousAdministrator> type_tag;
35984 func(type_tag);
35985 } else {
35986 func(static_cast<reactionUnavailabilityReasonAnonymousAdministrator &>(*obj));
35987 }
35988 return true;
35989 case reactionUnavailabilityReasonGuest::ID:
35990 if constexpr (AllowTag) {
35991 downcast_call_tag<reactionUnavailabilityReasonGuest> type_tag;
35992 func(type_tag);
35993 } else {
35994 func(static_cast<reactionUnavailabilityReasonGuest &>(*obj));
35995 }
35996 return true;
35997 default:
35998 return false;
35999 }
36000}

◆ downcast_call_impl() [146/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReplyMarkup obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36022 of file td_api.hpp.

36022 { //-V2008
36023 switch (constructor) {
36024 case replyMarkupRemoveKeyboard::ID:
36025 if constexpr (AllowTag) {
36026 downcast_call_tag<replyMarkupRemoveKeyboard> type_tag;
36027 func(type_tag);
36028 } else {
36029 func(static_cast<replyMarkupRemoveKeyboard &>(*obj));
36030 }
36031 return true;
36032 case replyMarkupForceReply::ID:
36033 if constexpr (AllowTag) {
36034 downcast_call_tag<replyMarkupForceReply> type_tag;
36035 func(type_tag);
36036 } else {
36037 func(static_cast<replyMarkupForceReply &>(*obj));
36038 }
36039 return true;
36040 case replyMarkupShowKeyboard::ID:
36041 if constexpr (AllowTag) {
36042 downcast_call_tag<replyMarkupShowKeyboard> type_tag;
36043 func(type_tag);
36044 } else {
36045 func(static_cast<replyMarkupShowKeyboard &>(*obj));
36046 }
36047 return true;
36048 case replyMarkupInlineKeyboard::ID:
36049 if constexpr (AllowTag) {
36050 downcast_call_tag<replyMarkupInlineKeyboard> type_tag;
36051 func(type_tag);
36052 } else {
36053 func(static_cast<replyMarkupInlineKeyboard &>(*obj));
36054 }
36055 return true;
36056 default:
36057 return false;
36058 }
36059}

◆ downcast_call_impl() [147/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReportChatResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36081 of file td_api.hpp.

36081 { //-V2008
36082 switch (constructor) {
36083 case reportChatResultOk::ID:
36084 if constexpr (AllowTag) {
36085 downcast_call_tag<reportChatResultOk> type_tag;
36086 func(type_tag);
36087 } else {
36088 func(static_cast<reportChatResultOk &>(*obj));
36089 }
36090 return true;
36091 case reportChatResultOptionRequired::ID:
36092 if constexpr (AllowTag) {
36093 downcast_call_tag<reportChatResultOptionRequired> type_tag;
36094 func(type_tag);
36095 } else {
36096 func(static_cast<reportChatResultOptionRequired &>(*obj));
36097 }
36098 return true;
36099 case reportChatResultTextRequired::ID:
36100 if constexpr (AllowTag) {
36101 downcast_call_tag<reportChatResultTextRequired> type_tag;
36102 func(type_tag);
36103 } else {
36104 func(static_cast<reportChatResultTextRequired &>(*obj));
36105 }
36106 return true;
36107 case reportChatResultMessagesRequired::ID:
36108 if constexpr (AllowTag) {
36109 downcast_call_tag<reportChatResultMessagesRequired> type_tag;
36110 func(type_tag);
36111 } else {
36112 func(static_cast<reportChatResultMessagesRequired &>(*obj));
36113 }
36114 return true;
36115 default:
36116 return false;
36117 }
36118}

◆ downcast_call_impl() [148/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReportReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36140 of file td_api.hpp.

36140 { //-V2008
36141 switch (constructor) {
36142 case reportReasonSpam::ID:
36143 if constexpr (AllowTag) {
36144 downcast_call_tag<reportReasonSpam> type_tag;
36145 func(type_tag);
36146 } else {
36147 func(static_cast<reportReasonSpam &>(*obj));
36148 }
36149 return true;
36150 case reportReasonViolence::ID:
36151 if constexpr (AllowTag) {
36152 downcast_call_tag<reportReasonViolence> type_tag;
36153 func(type_tag);
36154 } else {
36155 func(static_cast<reportReasonViolence &>(*obj));
36156 }
36157 return true;
36158 case reportReasonPornography::ID:
36159 if constexpr (AllowTag) {
36160 downcast_call_tag<reportReasonPornography> type_tag;
36161 func(type_tag);
36162 } else {
36163 func(static_cast<reportReasonPornography &>(*obj));
36164 }
36165 return true;
36166 case reportReasonChildAbuse::ID:
36167 if constexpr (AllowTag) {
36168 downcast_call_tag<reportReasonChildAbuse> type_tag;
36169 func(type_tag);
36170 } else {
36171 func(static_cast<reportReasonChildAbuse &>(*obj));
36172 }
36173 return true;
36174 case reportReasonCopyright::ID:
36175 if constexpr (AllowTag) {
36176 downcast_call_tag<reportReasonCopyright> type_tag;
36177 func(type_tag);
36178 } else {
36179 func(static_cast<reportReasonCopyright &>(*obj));
36180 }
36181 return true;
36182 case reportReasonUnrelatedLocation::ID:
36183 if constexpr (AllowTag) {
36184 downcast_call_tag<reportReasonUnrelatedLocation> type_tag;
36185 func(type_tag);
36186 } else {
36187 func(static_cast<reportReasonUnrelatedLocation &>(*obj));
36188 }
36189 return true;
36190 case reportReasonFake::ID:
36191 if constexpr (AllowTag) {
36192 downcast_call_tag<reportReasonFake> type_tag;
36193 func(type_tag);
36194 } else {
36195 func(static_cast<reportReasonFake &>(*obj));
36196 }
36197 return true;
36198 case reportReasonIllegalDrugs::ID:
36199 if constexpr (AllowTag) {
36200 downcast_call_tag<reportReasonIllegalDrugs> type_tag;
36201 func(type_tag);
36202 } else {
36203 func(static_cast<reportReasonIllegalDrugs &>(*obj));
36204 }
36205 return true;
36206 case reportReasonPersonalDetails::ID:
36207 if constexpr (AllowTag) {
36208 downcast_call_tag<reportReasonPersonalDetails> type_tag;
36209 func(type_tag);
36210 } else {
36211 func(static_cast<reportReasonPersonalDetails &>(*obj));
36212 }
36213 return true;
36214 case reportReasonCustom::ID:
36215 if constexpr (AllowTag) {
36216 downcast_call_tag<reportReasonCustom> type_tag;
36217 func(type_tag);
36218 } else {
36219 func(static_cast<reportReasonCustom &>(*obj));
36220 }
36221 return true;
36222 default:
36223 return false;
36224 }
36225}

◆ downcast_call_impl() [149/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReportSponsoredResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36247 of file td_api.hpp.

36247 { //-V2008
36248 switch (constructor) {
36249 case reportSponsoredResultOk::ID:
36250 if constexpr (AllowTag) {
36251 downcast_call_tag<reportSponsoredResultOk> type_tag;
36252 func(type_tag);
36253 } else {
36254 func(static_cast<reportSponsoredResultOk &>(*obj));
36255 }
36256 return true;
36257 case reportSponsoredResultFailed::ID:
36258 if constexpr (AllowTag) {
36259 downcast_call_tag<reportSponsoredResultFailed> type_tag;
36260 func(type_tag);
36261 } else {
36262 func(static_cast<reportSponsoredResultFailed &>(*obj));
36263 }
36264 return true;
36265 case reportSponsoredResultOptionRequired::ID:
36266 if constexpr (AllowTag) {
36267 downcast_call_tag<reportSponsoredResultOptionRequired> type_tag;
36268 func(type_tag);
36269 } else {
36270 func(static_cast<reportSponsoredResultOptionRequired &>(*obj));
36271 }
36272 return true;
36273 case reportSponsoredResultAdsHidden::ID:
36274 if constexpr (AllowTag) {
36275 downcast_call_tag<reportSponsoredResultAdsHidden> type_tag;
36276 func(type_tag);
36277 } else {
36278 func(static_cast<reportSponsoredResultAdsHidden &>(*obj));
36279 }
36280 return true;
36281 case reportSponsoredResultPremiumRequired::ID:
36282 if constexpr (AllowTag) {
36283 downcast_call_tag<reportSponsoredResultPremiumRequired> type_tag;
36284 func(type_tag);
36285 } else {
36286 func(static_cast<reportSponsoredResultPremiumRequired &>(*obj));
36287 }
36288 return true;
36289 default:
36290 return false;
36291 }
36292}

◆ downcast_call_impl() [150/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ReportStoryResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36314 of file td_api.hpp.

36314 { //-V2008
36315 switch (constructor) {
36316 case reportStoryResultOk::ID:
36317 if constexpr (AllowTag) {
36318 downcast_call_tag<reportStoryResultOk> type_tag;
36319 func(type_tag);
36320 } else {
36321 func(static_cast<reportStoryResultOk &>(*obj));
36322 }
36323 return true;
36324 case reportStoryResultOptionRequired::ID:
36325 if constexpr (AllowTag) {
36326 downcast_call_tag<reportStoryResultOptionRequired> type_tag;
36327 func(type_tag);
36328 } else {
36329 func(static_cast<reportStoryResultOptionRequired &>(*obj));
36330 }
36331 return true;
36332 case reportStoryResultTextRequired::ID:
36333 if constexpr (AllowTag) {
36334 downcast_call_tag<reportStoryResultTextRequired> type_tag;
36335 func(type_tag);
36336 } else {
36337 func(static_cast<reportStoryResultTextRequired &>(*obj));
36338 }
36339 return true;
36340 default:
36341 return false;
36342 }
36343}

◆ downcast_call_impl() [151/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ResendCodeReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36365 of file td_api.hpp.

36365 { //-V2008
36366 switch (constructor) {
36367 case resendCodeReasonUserRequest::ID:
36368 if constexpr (AllowTag) {
36369 downcast_call_tag<resendCodeReasonUserRequest> type_tag;
36370 func(type_tag);
36371 } else {
36372 func(static_cast<resendCodeReasonUserRequest &>(*obj));
36373 }
36374 return true;
36375 case resendCodeReasonVerificationFailed::ID:
36376 if constexpr (AllowTag) {
36377 downcast_call_tag<resendCodeReasonVerificationFailed> type_tag;
36378 func(type_tag);
36379 } else {
36380 func(static_cast<resendCodeReasonVerificationFailed &>(*obj));
36381 }
36382 return true;
36383 default:
36384 return false;
36385 }
36386}

◆ downcast_call_impl() [152/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ResetPasswordResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36408 of file td_api.hpp.

36408 { //-V2008
36409 switch (constructor) {
36410 case resetPasswordResultOk::ID:
36411 if constexpr (AllowTag) {
36412 downcast_call_tag<resetPasswordResultOk> type_tag;
36413 func(type_tag);
36414 } else {
36415 func(static_cast<resetPasswordResultOk &>(*obj));
36416 }
36417 return true;
36418 case resetPasswordResultPending::ID:
36419 if constexpr (AllowTag) {
36420 downcast_call_tag<resetPasswordResultPending> type_tag;
36421 func(type_tag);
36422 } else {
36423 func(static_cast<resetPasswordResultPending &>(*obj));
36424 }
36425 return true;
36426 case resetPasswordResultDeclined::ID:
36427 if constexpr (AllowTag) {
36428 downcast_call_tag<resetPasswordResultDeclined> type_tag;
36429 func(type_tag);
36430 } else {
36431 func(static_cast<resetPasswordResultDeclined &>(*obj));
36432 }
36433 return true;
36434 default:
36435 return false;
36436 }
36437}

◆ downcast_call_impl() [153/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
RevenueWithdrawalState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36459 of file td_api.hpp.

36459 { //-V2008
36460 switch (constructor) {
36461 case revenueWithdrawalStatePending::ID:
36462 if constexpr (AllowTag) {
36463 downcast_call_tag<revenueWithdrawalStatePending> type_tag;
36464 func(type_tag);
36465 } else {
36466 func(static_cast<revenueWithdrawalStatePending &>(*obj));
36467 }
36468 return true;
36469 case revenueWithdrawalStateSucceeded::ID:
36470 if constexpr (AllowTag) {
36471 downcast_call_tag<revenueWithdrawalStateSucceeded> type_tag;
36472 func(type_tag);
36473 } else {
36474 func(static_cast<revenueWithdrawalStateSucceeded &>(*obj));
36475 }
36476 return true;
36477 case revenueWithdrawalStateFailed::ID:
36478 if constexpr (AllowTag) {
36479 downcast_call_tag<revenueWithdrawalStateFailed> type_tag;
36480 func(type_tag);
36481 } else {
36482 func(static_cast<revenueWithdrawalStateFailed &>(*obj));
36483 }
36484 return true;
36485 default:
36486 return false;
36487 }
36488}

◆ downcast_call_impl() [154/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
RichText obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36510 of file td_api.hpp.

36510 { //-V2008
36511 switch (constructor) {
36512 case richTextPlain::ID:
36513 if constexpr (AllowTag) {
36514 downcast_call_tag<richTextPlain> type_tag;
36515 func(type_tag);
36516 } else {
36517 func(static_cast<richTextPlain &>(*obj));
36518 }
36519 return true;
36520 case richTextBold::ID:
36521 if constexpr (AllowTag) {
36522 downcast_call_tag<richTextBold> type_tag;
36523 func(type_tag);
36524 } else {
36525 func(static_cast<richTextBold &>(*obj));
36526 }
36527 return true;
36528 case richTextItalic::ID:
36529 if constexpr (AllowTag) {
36530 downcast_call_tag<richTextItalic> type_tag;
36531 func(type_tag);
36532 } else {
36533 func(static_cast<richTextItalic &>(*obj));
36534 }
36535 return true;
36536 case richTextUnderline::ID:
36537 if constexpr (AllowTag) {
36538 downcast_call_tag<richTextUnderline> type_tag;
36539 func(type_tag);
36540 } else {
36541 func(static_cast<richTextUnderline &>(*obj));
36542 }
36543 return true;
36544 case richTextStrikethrough::ID:
36545 if constexpr (AllowTag) {
36546 downcast_call_tag<richTextStrikethrough> type_tag;
36547 func(type_tag);
36548 } else {
36549 func(static_cast<richTextStrikethrough &>(*obj));
36550 }
36551 return true;
36552 case richTextFixed::ID:
36553 if constexpr (AllowTag) {
36554 downcast_call_tag<richTextFixed> type_tag;
36555 func(type_tag);
36556 } else {
36557 func(static_cast<richTextFixed &>(*obj));
36558 }
36559 return true;
36560 case richTextUrl::ID:
36561 if constexpr (AllowTag) {
36562 downcast_call_tag<richTextUrl> type_tag;
36563 func(type_tag);
36564 } else {
36565 func(static_cast<richTextUrl &>(*obj));
36566 }
36567 return true;
36568 case richTextEmailAddress::ID:
36569 if constexpr (AllowTag) {
36570 downcast_call_tag<richTextEmailAddress> type_tag;
36571 func(type_tag);
36572 } else {
36573 func(static_cast<richTextEmailAddress &>(*obj));
36574 }
36575 return true;
36576 case richTextSubscript::ID:
36577 if constexpr (AllowTag) {
36578 downcast_call_tag<richTextSubscript> type_tag;
36579 func(type_tag);
36580 } else {
36581 func(static_cast<richTextSubscript &>(*obj));
36582 }
36583 return true;
36584 case richTextSuperscript::ID:
36585 if constexpr (AllowTag) {
36586 downcast_call_tag<richTextSuperscript> type_tag;
36587 func(type_tag);
36588 } else {
36589 func(static_cast<richTextSuperscript &>(*obj));
36590 }
36591 return true;
36592 case richTextMarked::ID:
36593 if constexpr (AllowTag) {
36594 downcast_call_tag<richTextMarked> type_tag;
36595 func(type_tag);
36596 } else {
36597 func(static_cast<richTextMarked &>(*obj));
36598 }
36599 return true;
36600 case richTextPhoneNumber::ID:
36601 if constexpr (AllowTag) {
36602 downcast_call_tag<richTextPhoneNumber> type_tag;
36603 func(type_tag);
36604 } else {
36605 func(static_cast<richTextPhoneNumber &>(*obj));
36606 }
36607 return true;
36608 case richTextIcon::ID:
36609 if constexpr (AllowTag) {
36610 downcast_call_tag<richTextIcon> type_tag;
36611 func(type_tag);
36612 } else {
36613 func(static_cast<richTextIcon &>(*obj));
36614 }
36615 return true;
36616 case richTextReference::ID:
36617 if constexpr (AllowTag) {
36618 downcast_call_tag<richTextReference> type_tag;
36619 func(type_tag);
36620 } else {
36621 func(static_cast<richTextReference &>(*obj));
36622 }
36623 return true;
36624 case richTextAnchor::ID:
36625 if constexpr (AllowTag) {
36626 downcast_call_tag<richTextAnchor> type_tag;
36627 func(type_tag);
36628 } else {
36629 func(static_cast<richTextAnchor &>(*obj));
36630 }
36631 return true;
36632 case richTextAnchorLink::ID:
36633 if constexpr (AllowTag) {
36634 downcast_call_tag<richTextAnchorLink> type_tag;
36635 func(type_tag);
36636 } else {
36637 func(static_cast<richTextAnchorLink &>(*obj));
36638 }
36639 return true;
36640 case richTexts::ID:
36641 if constexpr (AllowTag) {
36642 downcast_call_tag<richTexts> type_tag;
36643 func(type_tag);
36644 } else {
36645 func(static_cast<richTexts &>(*obj));
36646 }
36647 return true;
36648 default:
36649 return false;
36650 }
36651}

◆ downcast_call_impl() [155/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SavedMessagesTopicType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36673 of file td_api.hpp.

36673 { //-V2008
36674 switch (constructor) {
36675 case savedMessagesTopicTypeMyNotes::ID:
36676 if constexpr (AllowTag) {
36677 downcast_call_tag<savedMessagesTopicTypeMyNotes> type_tag;
36678 func(type_tag);
36679 } else {
36680 func(static_cast<savedMessagesTopicTypeMyNotes &>(*obj));
36681 }
36682 return true;
36683 case savedMessagesTopicTypeAuthorHidden::ID:
36684 if constexpr (AllowTag) {
36685 downcast_call_tag<savedMessagesTopicTypeAuthorHidden> type_tag;
36686 func(type_tag);
36687 } else {
36688 func(static_cast<savedMessagesTopicTypeAuthorHidden &>(*obj));
36689 }
36690 return true;
36691 case savedMessagesTopicTypeSavedFromChat::ID:
36692 if constexpr (AllowTag) {
36693 downcast_call_tag<savedMessagesTopicTypeSavedFromChat> type_tag;
36694 func(type_tag);
36695 } else {
36696 func(static_cast<savedMessagesTopicTypeSavedFromChat &>(*obj));
36697 }
36698 return true;
36699 default:
36700 return false;
36701 }
36702}

◆ downcast_call_impl() [156/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SearchMessagesChatTypeFilter obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36724 of file td_api.hpp.

36724 { //-V2008
36725 switch (constructor) {
36726 case searchMessagesChatTypeFilterPrivate::ID:
36727 if constexpr (AllowTag) {
36728 downcast_call_tag<searchMessagesChatTypeFilterPrivate> type_tag;
36729 func(type_tag);
36730 } else {
36731 func(static_cast<searchMessagesChatTypeFilterPrivate &>(*obj));
36732 }
36733 return true;
36734 case searchMessagesChatTypeFilterGroup::ID:
36735 if constexpr (AllowTag) {
36736 downcast_call_tag<searchMessagesChatTypeFilterGroup> type_tag;
36737 func(type_tag);
36738 } else {
36739 func(static_cast<searchMessagesChatTypeFilterGroup &>(*obj));
36740 }
36741 return true;
36742 case searchMessagesChatTypeFilterChannel::ID:
36743 if constexpr (AllowTag) {
36744 downcast_call_tag<searchMessagesChatTypeFilterChannel> type_tag;
36745 func(type_tag);
36746 } else {
36747 func(static_cast<searchMessagesChatTypeFilterChannel &>(*obj));
36748 }
36749 return true;
36750 default:
36751 return false;
36752 }
36753}

◆ downcast_call_impl() [157/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SearchMessagesFilter obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36775 of file td_api.hpp.

36775 { //-V2008
36776 switch (constructor) {
36777 case searchMessagesFilterEmpty::ID:
36778 if constexpr (AllowTag) {
36779 downcast_call_tag<searchMessagesFilterEmpty> type_tag;
36780 func(type_tag);
36781 } else {
36782 func(static_cast<searchMessagesFilterEmpty &>(*obj));
36783 }
36784 return true;
36785 case searchMessagesFilterAnimation::ID:
36786 if constexpr (AllowTag) {
36787 downcast_call_tag<searchMessagesFilterAnimation> type_tag;
36788 func(type_tag);
36789 } else {
36790 func(static_cast<searchMessagesFilterAnimation &>(*obj));
36791 }
36792 return true;
36793 case searchMessagesFilterAudio::ID:
36794 if constexpr (AllowTag) {
36795 downcast_call_tag<searchMessagesFilterAudio> type_tag;
36796 func(type_tag);
36797 } else {
36798 func(static_cast<searchMessagesFilterAudio &>(*obj));
36799 }
36800 return true;
36801 case searchMessagesFilterDocument::ID:
36802 if constexpr (AllowTag) {
36803 downcast_call_tag<searchMessagesFilterDocument> type_tag;
36804 func(type_tag);
36805 } else {
36806 func(static_cast<searchMessagesFilterDocument &>(*obj));
36807 }
36808 return true;
36809 case searchMessagesFilterPhoto::ID:
36810 if constexpr (AllowTag) {
36811 downcast_call_tag<searchMessagesFilterPhoto> type_tag;
36812 func(type_tag);
36813 } else {
36814 func(static_cast<searchMessagesFilterPhoto &>(*obj));
36815 }
36816 return true;
36817 case searchMessagesFilterPoll::ID:
36818 if constexpr (AllowTag) {
36819 downcast_call_tag<searchMessagesFilterPoll> type_tag;
36820 func(type_tag);
36821 } else {
36822 func(static_cast<searchMessagesFilterPoll &>(*obj));
36823 }
36824 return true;
36825 case searchMessagesFilterVideo::ID:
36826 if constexpr (AllowTag) {
36827 downcast_call_tag<searchMessagesFilterVideo> type_tag;
36828 func(type_tag);
36829 } else {
36830 func(static_cast<searchMessagesFilterVideo &>(*obj));
36831 }
36832 return true;
36833 case searchMessagesFilterVoiceNote::ID:
36834 if constexpr (AllowTag) {
36835 downcast_call_tag<searchMessagesFilterVoiceNote> type_tag;
36836 func(type_tag);
36837 } else {
36838 func(static_cast<searchMessagesFilterVoiceNote &>(*obj));
36839 }
36840 return true;
36841 case searchMessagesFilterPhotoAndVideo::ID:
36842 if constexpr (AllowTag) {
36843 downcast_call_tag<searchMessagesFilterPhotoAndVideo> type_tag;
36844 func(type_tag);
36845 } else {
36846 func(static_cast<searchMessagesFilterPhotoAndVideo &>(*obj));
36847 }
36848 return true;
36849 case searchMessagesFilterUrl::ID:
36850 if constexpr (AllowTag) {
36851 downcast_call_tag<searchMessagesFilterUrl> type_tag;
36852 func(type_tag);
36853 } else {
36854 func(static_cast<searchMessagesFilterUrl &>(*obj));
36855 }
36856 return true;
36857 case searchMessagesFilterChatPhoto::ID:
36858 if constexpr (AllowTag) {
36859 downcast_call_tag<searchMessagesFilterChatPhoto> type_tag;
36860 func(type_tag);
36861 } else {
36862 func(static_cast<searchMessagesFilterChatPhoto &>(*obj));
36863 }
36864 return true;
36865 case searchMessagesFilterVideoNote::ID:
36866 if constexpr (AllowTag) {
36867 downcast_call_tag<searchMessagesFilterVideoNote> type_tag;
36868 func(type_tag);
36869 } else {
36870 func(static_cast<searchMessagesFilterVideoNote &>(*obj));
36871 }
36872 return true;
36873 case searchMessagesFilterVoiceAndVideoNote::ID:
36874 if constexpr (AllowTag) {
36875 downcast_call_tag<searchMessagesFilterVoiceAndVideoNote> type_tag;
36876 func(type_tag);
36877 } else {
36878 func(static_cast<searchMessagesFilterVoiceAndVideoNote &>(*obj));
36879 }
36880 return true;
36881 case searchMessagesFilterMention::ID:
36882 if constexpr (AllowTag) {
36883 downcast_call_tag<searchMessagesFilterMention> type_tag;
36884 func(type_tag);
36885 } else {
36886 func(static_cast<searchMessagesFilterMention &>(*obj));
36887 }
36888 return true;
36889 case searchMessagesFilterUnreadMention::ID:
36890 if constexpr (AllowTag) {
36891 downcast_call_tag<searchMessagesFilterUnreadMention> type_tag;
36892 func(type_tag);
36893 } else {
36894 func(static_cast<searchMessagesFilterUnreadMention &>(*obj));
36895 }
36896 return true;
36897 case searchMessagesFilterUnreadReaction::ID:
36898 if constexpr (AllowTag) {
36899 downcast_call_tag<searchMessagesFilterUnreadReaction> type_tag;
36900 func(type_tag);
36901 } else {
36902 func(static_cast<searchMessagesFilterUnreadReaction &>(*obj));
36903 }
36904 return true;
36905 case searchMessagesFilterUnreadPollVote::ID:
36906 if constexpr (AllowTag) {
36907 downcast_call_tag<searchMessagesFilterUnreadPollVote> type_tag;
36908 func(type_tag);
36909 } else {
36910 func(static_cast<searchMessagesFilterUnreadPollVote &>(*obj));
36911 }
36912 return true;
36913 case searchMessagesFilterFailedToSend::ID:
36914 if constexpr (AllowTag) {
36915 downcast_call_tag<searchMessagesFilterFailedToSend> type_tag;
36916 func(type_tag);
36917 } else {
36918 func(static_cast<searchMessagesFilterFailedToSend &>(*obj));
36919 }
36920 return true;
36921 case searchMessagesFilterPinned::ID:
36922 if constexpr (AllowTag) {
36923 downcast_call_tag<searchMessagesFilterPinned> type_tag;
36924 func(type_tag);
36925 } else {
36926 func(static_cast<searchMessagesFilterPinned &>(*obj));
36927 }
36928 return true;
36929 default:
36930 return false;
36931 }
36932}

◆ downcast_call_impl() [158/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SecretChatState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 36954 of file td_api.hpp.

36954 { //-V2008
36955 switch (constructor) {
36956 case secretChatStatePending::ID:
36957 if constexpr (AllowTag) {
36958 downcast_call_tag<secretChatStatePending> type_tag;
36959 func(type_tag);
36960 } else {
36961 func(static_cast<secretChatStatePending &>(*obj));
36962 }
36963 return true;
36964 case secretChatStateReady::ID:
36965 if constexpr (AllowTag) {
36966 downcast_call_tag<secretChatStateReady> type_tag;
36967 func(type_tag);
36968 } else {
36969 func(static_cast<secretChatStateReady &>(*obj));
36970 }
36971 return true;
36972 case secretChatStateClosed::ID:
36973 if constexpr (AllowTag) {
36974 downcast_call_tag<secretChatStateClosed> type_tag;
36975 func(type_tag);
36976 } else {
36977 func(static_cast<secretChatStateClosed &>(*obj));
36978 }
36979 return true;
36980 default:
36981 return false;
36982 }
36983}

◆ downcast_call_impl() [159/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SentGift obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37005 of file td_api.hpp.

37005 { //-V2008
37006 switch (constructor) {
37007 case sentGiftRegular::ID:
37008 if constexpr (AllowTag) {
37009 downcast_call_tag<sentGiftRegular> type_tag;
37010 func(type_tag);
37011 } else {
37012 func(static_cast<sentGiftRegular &>(*obj));
37013 }
37014 return true;
37015 case sentGiftUpgraded::ID:
37016 if constexpr (AllowTag) {
37017 downcast_call_tag<sentGiftUpgraded> type_tag;
37018 func(type_tag);
37019 } else {
37020 func(static_cast<sentGiftUpgraded &>(*obj));
37021 }
37022 return true;
37023 default:
37024 return false;
37025 }
37026}

◆ downcast_call_impl() [160/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SessionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37048 of file td_api.hpp.

37048 { //-V2008
37049 switch (constructor) {
37050 case sessionTypeAndroid::ID:
37051 if constexpr (AllowTag) {
37052 downcast_call_tag<sessionTypeAndroid> type_tag;
37053 func(type_tag);
37054 } else {
37055 func(static_cast<sessionTypeAndroid &>(*obj));
37056 }
37057 return true;
37058 case sessionTypeApple::ID:
37059 if constexpr (AllowTag) {
37060 downcast_call_tag<sessionTypeApple> type_tag;
37061 func(type_tag);
37062 } else {
37063 func(static_cast<sessionTypeApple &>(*obj));
37064 }
37065 return true;
37066 case sessionTypeBrave::ID:
37067 if constexpr (AllowTag) {
37068 downcast_call_tag<sessionTypeBrave> type_tag;
37069 func(type_tag);
37070 } else {
37071 func(static_cast<sessionTypeBrave &>(*obj));
37072 }
37073 return true;
37074 case sessionTypeChrome::ID:
37075 if constexpr (AllowTag) {
37076 downcast_call_tag<sessionTypeChrome> type_tag;
37077 func(type_tag);
37078 } else {
37079 func(static_cast<sessionTypeChrome &>(*obj));
37080 }
37081 return true;
37082 case sessionTypeEdge::ID:
37083 if constexpr (AllowTag) {
37084 downcast_call_tag<sessionTypeEdge> type_tag;
37085 func(type_tag);
37086 } else {
37087 func(static_cast<sessionTypeEdge &>(*obj));
37088 }
37089 return true;
37090 case sessionTypeFirefox::ID:
37091 if constexpr (AllowTag) {
37092 downcast_call_tag<sessionTypeFirefox> type_tag;
37093 func(type_tag);
37094 } else {
37095 func(static_cast<sessionTypeFirefox &>(*obj));
37096 }
37097 return true;
37098 case sessionTypeIpad::ID:
37099 if constexpr (AllowTag) {
37100 downcast_call_tag<sessionTypeIpad> type_tag;
37101 func(type_tag);
37102 } else {
37103 func(static_cast<sessionTypeIpad &>(*obj));
37104 }
37105 return true;
37106 case sessionTypeIphone::ID:
37107 if constexpr (AllowTag) {
37108 downcast_call_tag<sessionTypeIphone> type_tag;
37109 func(type_tag);
37110 } else {
37111 func(static_cast<sessionTypeIphone &>(*obj));
37112 }
37113 return true;
37114 case sessionTypeLinux::ID:
37115 if constexpr (AllowTag) {
37116 downcast_call_tag<sessionTypeLinux> type_tag;
37117 func(type_tag);
37118 } else {
37119 func(static_cast<sessionTypeLinux &>(*obj));
37120 }
37121 return true;
37122 case sessionTypeMac::ID:
37123 if constexpr (AllowTag) {
37124 downcast_call_tag<sessionTypeMac> type_tag;
37125 func(type_tag);
37126 } else {
37127 func(static_cast<sessionTypeMac &>(*obj));
37128 }
37129 return true;
37130 case sessionTypeOpera::ID:
37131 if constexpr (AllowTag) {
37132 downcast_call_tag<sessionTypeOpera> type_tag;
37133 func(type_tag);
37134 } else {
37135 func(static_cast<sessionTypeOpera &>(*obj));
37136 }
37137 return true;
37138 case sessionTypeSafari::ID:
37139 if constexpr (AllowTag) {
37140 downcast_call_tag<sessionTypeSafari> type_tag;
37141 func(type_tag);
37142 } else {
37143 func(static_cast<sessionTypeSafari &>(*obj));
37144 }
37145 return true;
37146 case sessionTypeUbuntu::ID:
37147 if constexpr (AllowTag) {
37148 downcast_call_tag<sessionTypeUbuntu> type_tag;
37149 func(type_tag);
37150 } else {
37151 func(static_cast<sessionTypeUbuntu &>(*obj));
37152 }
37153 return true;
37154 case sessionTypeUnknown::ID:
37155 if constexpr (AllowTag) {
37156 downcast_call_tag<sessionTypeUnknown> type_tag;
37157 func(type_tag);
37158 } else {
37159 func(static_cast<sessionTypeUnknown &>(*obj));
37160 }
37161 return true;
37162 case sessionTypeVivaldi::ID:
37163 if constexpr (AllowTag) {
37164 downcast_call_tag<sessionTypeVivaldi> type_tag;
37165 func(type_tag);
37166 } else {
37167 func(static_cast<sessionTypeVivaldi &>(*obj));
37168 }
37169 return true;
37170 case sessionTypeWindows::ID:
37171 if constexpr (AllowTag) {
37172 downcast_call_tag<sessionTypeWindows> type_tag;
37173 func(type_tag);
37174 } else {
37175 func(static_cast<sessionTypeWindows &>(*obj));
37176 }
37177 return true;
37178 case sessionTypeXbox::ID:
37179 if constexpr (AllowTag) {
37180 downcast_call_tag<sessionTypeXbox> type_tag;
37181 func(type_tag);
37182 } else {
37183 func(static_cast<sessionTypeXbox &>(*obj));
37184 }
37185 return true;
37186 default:
37187 return false;
37188 }
37189}

◆ downcast_call_impl() [161/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SettingsSection obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37211 of file td_api.hpp.

37211 { //-V2008
37212 switch (constructor) {
37213 case settingsSectionAppearance::ID:
37214 if constexpr (AllowTag) {
37215 downcast_call_tag<settingsSectionAppearance> type_tag;
37216 func(type_tag);
37217 } else {
37218 func(static_cast<settingsSectionAppearance &>(*obj));
37219 }
37220 return true;
37221 case settingsSectionAskQuestion::ID:
37222 if constexpr (AllowTag) {
37223 downcast_call_tag<settingsSectionAskQuestion> type_tag;
37224 func(type_tag);
37225 } else {
37226 func(static_cast<settingsSectionAskQuestion &>(*obj));
37227 }
37228 return true;
37229 case settingsSectionBusiness::ID:
37230 if constexpr (AllowTag) {
37231 downcast_call_tag<settingsSectionBusiness> type_tag;
37232 func(type_tag);
37233 } else {
37234 func(static_cast<settingsSectionBusiness &>(*obj));
37235 }
37236 return true;
37237 case settingsSectionChatFolders::ID:
37238 if constexpr (AllowTag) {
37239 downcast_call_tag<settingsSectionChatFolders> type_tag;
37240 func(type_tag);
37241 } else {
37242 func(static_cast<settingsSectionChatFolders &>(*obj));
37243 }
37244 return true;
37245 case settingsSectionDataAndStorage::ID:
37246 if constexpr (AllowTag) {
37247 downcast_call_tag<settingsSectionDataAndStorage> type_tag;
37248 func(type_tag);
37249 } else {
37250 func(static_cast<settingsSectionDataAndStorage &>(*obj));
37251 }
37252 return true;
37253 case settingsSectionDevices::ID:
37254 if constexpr (AllowTag) {
37255 downcast_call_tag<settingsSectionDevices> type_tag;
37256 func(type_tag);
37257 } else {
37258 func(static_cast<settingsSectionDevices &>(*obj));
37259 }
37260 return true;
37261 case settingsSectionEditProfile::ID:
37262 if constexpr (AllowTag) {
37263 downcast_call_tag<settingsSectionEditProfile> type_tag;
37264 func(type_tag);
37265 } else {
37266 func(static_cast<settingsSectionEditProfile &>(*obj));
37267 }
37268 return true;
37269 case settingsSectionFaq::ID:
37270 if constexpr (AllowTag) {
37271 downcast_call_tag<settingsSectionFaq> type_tag;
37272 func(type_tag);
37273 } else {
37274 func(static_cast<settingsSectionFaq &>(*obj));
37275 }
37276 return true;
37277 case settingsSectionFeatures::ID:
37278 if constexpr (AllowTag) {
37279 downcast_call_tag<settingsSectionFeatures> type_tag;
37280 func(type_tag);
37281 } else {
37282 func(static_cast<settingsSectionFeatures &>(*obj));
37283 }
37284 return true;
37285 case settingsSectionInAppBrowser::ID:
37286 if constexpr (AllowTag) {
37287 downcast_call_tag<settingsSectionInAppBrowser> type_tag;
37288 func(type_tag);
37289 } else {
37290 func(static_cast<settingsSectionInAppBrowser &>(*obj));
37291 }
37292 return true;
37293 case settingsSectionLanguage::ID:
37294 if constexpr (AllowTag) {
37295 downcast_call_tag<settingsSectionLanguage> type_tag;
37296 func(type_tag);
37297 } else {
37298 func(static_cast<settingsSectionLanguage &>(*obj));
37299 }
37300 return true;
37301 case settingsSectionMyStars::ID:
37302 if constexpr (AllowTag) {
37303 downcast_call_tag<settingsSectionMyStars> type_tag;
37304 func(type_tag);
37305 } else {
37306 func(static_cast<settingsSectionMyStars &>(*obj));
37307 }
37308 return true;
37309 case settingsSectionMyToncoins::ID:
37310 if constexpr (AllowTag) {
37311 downcast_call_tag<settingsSectionMyToncoins> type_tag;
37312 func(type_tag);
37313 } else {
37314 func(static_cast<settingsSectionMyToncoins &>(*obj));
37315 }
37316 return true;
37317 case settingsSectionNotifications::ID:
37318 if constexpr (AllowTag) {
37319 downcast_call_tag<settingsSectionNotifications> type_tag;
37320 func(type_tag);
37321 } else {
37322 func(static_cast<settingsSectionNotifications &>(*obj));
37323 }
37324 return true;
37325 case settingsSectionPowerSaving::ID:
37326 if constexpr (AllowTag) {
37327 downcast_call_tag<settingsSectionPowerSaving> type_tag;
37328 func(type_tag);
37329 } else {
37330 func(static_cast<settingsSectionPowerSaving &>(*obj));
37331 }
37332 return true;
37333 case settingsSectionPremium::ID:
37334 if constexpr (AllowTag) {
37335 downcast_call_tag<settingsSectionPremium> type_tag;
37336 func(type_tag);
37337 } else {
37338 func(static_cast<settingsSectionPremium &>(*obj));
37339 }
37340 return true;
37341 case settingsSectionPrivacyAndSecurity::ID:
37342 if constexpr (AllowTag) {
37343 downcast_call_tag<settingsSectionPrivacyAndSecurity> type_tag;
37344 func(type_tag);
37345 } else {
37346 func(static_cast<settingsSectionPrivacyAndSecurity &>(*obj));
37347 }
37348 return true;
37349 case settingsSectionPrivacyPolicy::ID:
37350 if constexpr (AllowTag) {
37351 downcast_call_tag<settingsSectionPrivacyPolicy> type_tag;
37352 func(type_tag);
37353 } else {
37354 func(static_cast<settingsSectionPrivacyPolicy &>(*obj));
37355 }
37356 return true;
37357 case settingsSectionQrCode::ID:
37358 if constexpr (AllowTag) {
37359 downcast_call_tag<settingsSectionQrCode> type_tag;
37360 func(type_tag);
37361 } else {
37362 func(static_cast<settingsSectionQrCode &>(*obj));
37363 }
37364 return true;
37365 case settingsSectionSearch::ID:
37366 if constexpr (AllowTag) {
37367 downcast_call_tag<settingsSectionSearch> type_tag;
37368 func(type_tag);
37369 } else {
37370 func(static_cast<settingsSectionSearch &>(*obj));
37371 }
37372 return true;
37373 case settingsSectionSendGift::ID:
37374 if constexpr (AllowTag) {
37375 downcast_call_tag<settingsSectionSendGift> type_tag;
37376 func(type_tag);
37377 } else {
37378 func(static_cast<settingsSectionSendGift &>(*obj));
37379 }
37380 return true;
37381 default:
37382 return false;
37383 }
37384}

◆ downcast_call_impl() [162/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SpeechRecognitionResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37406 of file td_api.hpp.

37406 { //-V2008
37407 switch (constructor) {
37408 case speechRecognitionResultPending::ID:
37409 if constexpr (AllowTag) {
37410 downcast_call_tag<speechRecognitionResultPending> type_tag;
37411 func(type_tag);
37412 } else {
37413 func(static_cast<speechRecognitionResultPending &>(*obj));
37414 }
37415 return true;
37416 case speechRecognitionResultText::ID:
37417 if constexpr (AllowTag) {
37418 downcast_call_tag<speechRecognitionResultText> type_tag;
37419 func(type_tag);
37420 } else {
37421 func(static_cast<speechRecognitionResultText &>(*obj));
37422 }
37423 return true;
37424 case speechRecognitionResultError::ID:
37425 if constexpr (AllowTag) {
37426 downcast_call_tag<speechRecognitionResultError> type_tag;
37427 func(type_tag);
37428 } else {
37429 func(static_cast<speechRecognitionResultError &>(*obj));
37430 }
37431 return true;
37432 default:
37433 return false;
37434 }
37435}

◆ downcast_call_impl() [163/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StarSubscriptionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37457 of file td_api.hpp.

37457 { //-V2008
37458 switch (constructor) {
37459 case starSubscriptionTypeChannel::ID:
37460 if constexpr (AllowTag) {
37461 downcast_call_tag<starSubscriptionTypeChannel> type_tag;
37462 func(type_tag);
37463 } else {
37464 func(static_cast<starSubscriptionTypeChannel &>(*obj));
37465 }
37466 return true;
37467 case starSubscriptionTypeBot::ID:
37468 if constexpr (AllowTag) {
37469 downcast_call_tag<starSubscriptionTypeBot> type_tag;
37470 func(type_tag);
37471 } else {
37472 func(static_cast<starSubscriptionTypeBot &>(*obj));
37473 }
37474 return true;
37475 default:
37476 return false;
37477 }
37478}

◆ downcast_call_impl() [164/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StartLiveStoryResult obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37887 of file td_api.hpp.

37887 { //-V2008
37888 switch (constructor) {
37889 case startLiveStoryResultOk::ID:
37890 if constexpr (AllowTag) {
37891 downcast_call_tag<startLiveStoryResultOk> type_tag;
37892 func(type_tag);
37893 } else {
37894 func(static_cast<startLiveStoryResultOk &>(*obj));
37895 }
37896 return true;
37897 case startLiveStoryResultFail::ID:
37898 if constexpr (AllowTag) {
37899 downcast_call_tag<startLiveStoryResultFail> type_tag;
37900 func(type_tag);
37901 } else {
37902 func(static_cast<startLiveStoryResultFail &>(*obj));
37903 }
37904 return true;
37905 default:
37906 return false;
37907 }
37908}

◆ downcast_call_impl() [165/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StarTransactionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37500 of file td_api.hpp.

37500 { //-V2008
37501 switch (constructor) {
37502 case starTransactionTypePremiumBotDeposit::ID:
37503 if constexpr (AllowTag) {
37504 downcast_call_tag<starTransactionTypePremiumBotDeposit> type_tag;
37505 func(type_tag);
37506 } else {
37507 func(static_cast<starTransactionTypePremiumBotDeposit &>(*obj));
37508 }
37509 return true;
37510 case starTransactionTypeAppStoreDeposit::ID:
37511 if constexpr (AllowTag) {
37512 downcast_call_tag<starTransactionTypeAppStoreDeposit> type_tag;
37513 func(type_tag);
37514 } else {
37515 func(static_cast<starTransactionTypeAppStoreDeposit &>(*obj));
37516 }
37517 return true;
37518 case starTransactionTypeGooglePlayDeposit::ID:
37519 if constexpr (AllowTag) {
37520 downcast_call_tag<starTransactionTypeGooglePlayDeposit> type_tag;
37521 func(type_tag);
37522 } else {
37523 func(static_cast<starTransactionTypeGooglePlayDeposit &>(*obj));
37524 }
37525 return true;
37526 case starTransactionTypeFragmentDeposit::ID:
37527 if constexpr (AllowTag) {
37528 downcast_call_tag<starTransactionTypeFragmentDeposit> type_tag;
37529 func(type_tag);
37530 } else {
37531 func(static_cast<starTransactionTypeFragmentDeposit &>(*obj));
37532 }
37533 return true;
37534 case starTransactionTypeUserDeposit::ID:
37535 if constexpr (AllowTag) {
37536 downcast_call_tag<starTransactionTypeUserDeposit> type_tag;
37537 func(type_tag);
37538 } else {
37539 func(static_cast<starTransactionTypeUserDeposit &>(*obj));
37540 }
37541 return true;
37542 case starTransactionTypeGiveawayDeposit::ID:
37543 if constexpr (AllowTag) {
37544 downcast_call_tag<starTransactionTypeGiveawayDeposit> type_tag;
37545 func(type_tag);
37546 } else {
37547 func(static_cast<starTransactionTypeGiveawayDeposit &>(*obj));
37548 }
37549 return true;
37550 case starTransactionTypeFragmentWithdrawal::ID:
37551 if constexpr (AllowTag) {
37552 downcast_call_tag<starTransactionTypeFragmentWithdrawal> type_tag;
37553 func(type_tag);
37554 } else {
37555 func(static_cast<starTransactionTypeFragmentWithdrawal &>(*obj));
37556 }
37557 return true;
37558 case starTransactionTypeTelegramAdsWithdrawal::ID:
37559 if constexpr (AllowTag) {
37560 downcast_call_tag<starTransactionTypeTelegramAdsWithdrawal> type_tag;
37561 func(type_tag);
37562 } else {
37563 func(static_cast<starTransactionTypeTelegramAdsWithdrawal &>(*obj));
37564 }
37565 return true;
37566 case starTransactionTypeTelegramApiUsage::ID:
37567 if constexpr (AllowTag) {
37568 downcast_call_tag<starTransactionTypeTelegramApiUsage> type_tag;
37569 func(type_tag);
37570 } else {
37571 func(static_cast<starTransactionTypeTelegramApiUsage &>(*obj));
37572 }
37573 return true;
37574 case starTransactionTypeBotPaidMediaPurchase::ID:
37575 if constexpr (AllowTag) {
37576 downcast_call_tag<starTransactionTypeBotPaidMediaPurchase> type_tag;
37577 func(type_tag);
37578 } else {
37579 func(static_cast<starTransactionTypeBotPaidMediaPurchase &>(*obj));
37580 }
37581 return true;
37582 case starTransactionTypeBotPaidMediaSale::ID:
37583 if constexpr (AllowTag) {
37584 downcast_call_tag<starTransactionTypeBotPaidMediaSale> type_tag;
37585 func(type_tag);
37586 } else {
37587 func(static_cast<starTransactionTypeBotPaidMediaSale &>(*obj));
37588 }
37589 return true;
37590 case starTransactionTypeChannelPaidMediaPurchase::ID:
37591 if constexpr (AllowTag) {
37592 downcast_call_tag<starTransactionTypeChannelPaidMediaPurchase> type_tag;
37593 func(type_tag);
37594 } else {
37595 func(static_cast<starTransactionTypeChannelPaidMediaPurchase &>(*obj));
37596 }
37597 return true;
37598 case starTransactionTypeChannelPaidMediaSale::ID:
37599 if constexpr (AllowTag) {
37600 downcast_call_tag<starTransactionTypeChannelPaidMediaSale> type_tag;
37601 func(type_tag);
37602 } else {
37603 func(static_cast<starTransactionTypeChannelPaidMediaSale &>(*obj));
37604 }
37605 return true;
37606 case starTransactionTypeBotInvoicePurchase::ID:
37607 if constexpr (AllowTag) {
37608 downcast_call_tag<starTransactionTypeBotInvoicePurchase> type_tag;
37609 func(type_tag);
37610 } else {
37611 func(static_cast<starTransactionTypeBotInvoicePurchase &>(*obj));
37612 }
37613 return true;
37614 case starTransactionTypeBotInvoiceSale::ID:
37615 if constexpr (AllowTag) {
37616 downcast_call_tag<starTransactionTypeBotInvoiceSale> type_tag;
37617 func(type_tag);
37618 } else {
37619 func(static_cast<starTransactionTypeBotInvoiceSale &>(*obj));
37620 }
37621 return true;
37622 case starTransactionTypeBotSubscriptionPurchase::ID:
37623 if constexpr (AllowTag) {
37624 downcast_call_tag<starTransactionTypeBotSubscriptionPurchase> type_tag;
37625 func(type_tag);
37626 } else {
37627 func(static_cast<starTransactionTypeBotSubscriptionPurchase &>(*obj));
37628 }
37629 return true;
37630 case starTransactionTypeBotSubscriptionSale::ID:
37631 if constexpr (AllowTag) {
37632 downcast_call_tag<starTransactionTypeBotSubscriptionSale> type_tag;
37633 func(type_tag);
37634 } else {
37635 func(static_cast<starTransactionTypeBotSubscriptionSale &>(*obj));
37636 }
37637 return true;
37638 case starTransactionTypeChannelSubscriptionPurchase::ID:
37639 if constexpr (AllowTag) {
37640 downcast_call_tag<starTransactionTypeChannelSubscriptionPurchase> type_tag;
37641 func(type_tag);
37642 } else {
37643 func(static_cast<starTransactionTypeChannelSubscriptionPurchase &>(*obj));
37644 }
37645 return true;
37646 case starTransactionTypeChannelSubscriptionSale::ID:
37647 if constexpr (AllowTag) {
37648 downcast_call_tag<starTransactionTypeChannelSubscriptionSale> type_tag;
37649 func(type_tag);
37650 } else {
37651 func(static_cast<starTransactionTypeChannelSubscriptionSale &>(*obj));
37652 }
37653 return true;
37654 case starTransactionTypeGiftAuctionBid::ID:
37655 if constexpr (AllowTag) {
37656 downcast_call_tag<starTransactionTypeGiftAuctionBid> type_tag;
37657 func(type_tag);
37658 } else {
37659 func(static_cast<starTransactionTypeGiftAuctionBid &>(*obj));
37660 }
37661 return true;
37662 case starTransactionTypeGiftPurchase::ID:
37663 if constexpr (AllowTag) {
37664 downcast_call_tag<starTransactionTypeGiftPurchase> type_tag;
37665 func(type_tag);
37666 } else {
37667 func(static_cast<starTransactionTypeGiftPurchase &>(*obj));
37668 }
37669 return true;
37670 case starTransactionTypeGiftPurchaseOffer::ID:
37671 if constexpr (AllowTag) {
37672 downcast_call_tag<starTransactionTypeGiftPurchaseOffer> type_tag;
37673 func(type_tag);
37674 } else {
37675 func(static_cast<starTransactionTypeGiftPurchaseOffer &>(*obj));
37676 }
37677 return true;
37678 case starTransactionTypeGiftTransfer::ID:
37679 if constexpr (AllowTag) {
37680 downcast_call_tag<starTransactionTypeGiftTransfer> type_tag;
37681 func(type_tag);
37682 } else {
37683 func(static_cast<starTransactionTypeGiftTransfer &>(*obj));
37684 }
37685 return true;
37686 case starTransactionTypeGiftOriginalDetailsDrop::ID:
37687 if constexpr (AllowTag) {
37688 downcast_call_tag<starTransactionTypeGiftOriginalDetailsDrop> type_tag;
37689 func(type_tag);
37690 } else {
37691 func(static_cast<starTransactionTypeGiftOriginalDetailsDrop &>(*obj));
37692 }
37693 return true;
37694 case starTransactionTypeGiftSale::ID:
37695 if constexpr (AllowTag) {
37696 downcast_call_tag<starTransactionTypeGiftSale> type_tag;
37697 func(type_tag);
37698 } else {
37699 func(static_cast<starTransactionTypeGiftSale &>(*obj));
37700 }
37701 return true;
37702 case starTransactionTypeGiftUpgrade::ID:
37703 if constexpr (AllowTag) {
37704 downcast_call_tag<starTransactionTypeGiftUpgrade> type_tag;
37705 func(type_tag);
37706 } else {
37707 func(static_cast<starTransactionTypeGiftUpgrade &>(*obj));
37708 }
37709 return true;
37710 case starTransactionTypeGiftUpgradePurchase::ID:
37711 if constexpr (AllowTag) {
37712 downcast_call_tag<starTransactionTypeGiftUpgradePurchase> type_tag;
37713 func(type_tag);
37714 } else {
37715 func(static_cast<starTransactionTypeGiftUpgradePurchase &>(*obj));
37716 }
37717 return true;
37718 case starTransactionTypeUpgradedGiftPurchase::ID:
37719 if constexpr (AllowTag) {
37720 downcast_call_tag<starTransactionTypeUpgradedGiftPurchase> type_tag;
37721 func(type_tag);
37722 } else {
37723 func(static_cast<starTransactionTypeUpgradedGiftPurchase &>(*obj));
37724 }
37725 return true;
37726 case starTransactionTypeUpgradedGiftSale::ID:
37727 if constexpr (AllowTag) {
37728 downcast_call_tag<starTransactionTypeUpgradedGiftSale> type_tag;
37729 func(type_tag);
37730 } else {
37731 func(static_cast<starTransactionTypeUpgradedGiftSale &>(*obj));
37732 }
37733 return true;
37734 case starTransactionTypeChannelPaidReactionSend::ID:
37735 if constexpr (AllowTag) {
37736 downcast_call_tag<starTransactionTypeChannelPaidReactionSend> type_tag;
37737 func(type_tag);
37738 } else {
37739 func(static_cast<starTransactionTypeChannelPaidReactionSend &>(*obj));
37740 }
37741 return true;
37742 case starTransactionTypeChannelPaidReactionReceive::ID:
37743 if constexpr (AllowTag) {
37744 downcast_call_tag<starTransactionTypeChannelPaidReactionReceive> type_tag;
37745 func(type_tag);
37746 } else {
37747 func(static_cast<starTransactionTypeChannelPaidReactionReceive &>(*obj));
37748 }
37749 return true;
37750 case starTransactionTypeAffiliateProgramCommission::ID:
37751 if constexpr (AllowTag) {
37752 downcast_call_tag<starTransactionTypeAffiliateProgramCommission> type_tag;
37753 func(type_tag);
37754 } else {
37755 func(static_cast<starTransactionTypeAffiliateProgramCommission &>(*obj));
37756 }
37757 return true;
37758 case starTransactionTypePaidMessageSend::ID:
37759 if constexpr (AllowTag) {
37760 downcast_call_tag<starTransactionTypePaidMessageSend> type_tag;
37761 func(type_tag);
37762 } else {
37763 func(static_cast<starTransactionTypePaidMessageSend &>(*obj));
37764 }
37765 return true;
37766 case starTransactionTypePaidMessageReceive::ID:
37767 if constexpr (AllowTag) {
37768 downcast_call_tag<starTransactionTypePaidMessageReceive> type_tag;
37769 func(type_tag);
37770 } else {
37771 func(static_cast<starTransactionTypePaidMessageReceive &>(*obj));
37772 }
37773 return true;
37774 case starTransactionTypePaidGroupCallMessageSend::ID:
37775 if constexpr (AllowTag) {
37776 downcast_call_tag<starTransactionTypePaidGroupCallMessageSend> type_tag;
37777 func(type_tag);
37778 } else {
37779 func(static_cast<starTransactionTypePaidGroupCallMessageSend &>(*obj));
37780 }
37781 return true;
37782 case starTransactionTypePaidGroupCallMessageReceive::ID:
37783 if constexpr (AllowTag) {
37784 downcast_call_tag<starTransactionTypePaidGroupCallMessageReceive> type_tag;
37785 func(type_tag);
37786 } else {
37787 func(static_cast<starTransactionTypePaidGroupCallMessageReceive &>(*obj));
37788 }
37789 return true;
37790 case starTransactionTypePaidGroupCallReactionSend::ID:
37791 if constexpr (AllowTag) {
37792 downcast_call_tag<starTransactionTypePaidGroupCallReactionSend> type_tag;
37793 func(type_tag);
37794 } else {
37795 func(static_cast<starTransactionTypePaidGroupCallReactionSend &>(*obj));
37796 }
37797 return true;
37798 case starTransactionTypePaidGroupCallReactionReceive::ID:
37799 if constexpr (AllowTag) {
37800 downcast_call_tag<starTransactionTypePaidGroupCallReactionReceive> type_tag;
37801 func(type_tag);
37802 } else {
37803 func(static_cast<starTransactionTypePaidGroupCallReactionReceive &>(*obj));
37804 }
37805 return true;
37806 case starTransactionTypeSuggestedPostPaymentSend::ID:
37807 if constexpr (AllowTag) {
37808 downcast_call_tag<starTransactionTypeSuggestedPostPaymentSend> type_tag;
37809 func(type_tag);
37810 } else {
37811 func(static_cast<starTransactionTypeSuggestedPostPaymentSend &>(*obj));
37812 }
37813 return true;
37814 case starTransactionTypeSuggestedPostPaymentReceive::ID:
37815 if constexpr (AllowTag) {
37816 downcast_call_tag<starTransactionTypeSuggestedPostPaymentReceive> type_tag;
37817 func(type_tag);
37818 } else {
37819 func(static_cast<starTransactionTypeSuggestedPostPaymentReceive &>(*obj));
37820 }
37821 return true;
37822 case starTransactionTypePremiumPurchase::ID:
37823 if constexpr (AllowTag) {
37824 downcast_call_tag<starTransactionTypePremiumPurchase> type_tag;
37825 func(type_tag);
37826 } else {
37827 func(static_cast<starTransactionTypePremiumPurchase &>(*obj));
37828 }
37829 return true;
37830 case starTransactionTypeBusinessBotTransferSend::ID:
37831 if constexpr (AllowTag) {
37832 downcast_call_tag<starTransactionTypeBusinessBotTransferSend> type_tag;
37833 func(type_tag);
37834 } else {
37835 func(static_cast<starTransactionTypeBusinessBotTransferSend &>(*obj));
37836 }
37837 return true;
37838 case starTransactionTypeBusinessBotTransferReceive::ID:
37839 if constexpr (AllowTag) {
37840 downcast_call_tag<starTransactionTypeBusinessBotTransferReceive> type_tag;
37841 func(type_tag);
37842 } else {
37843 func(static_cast<starTransactionTypeBusinessBotTransferReceive &>(*obj));
37844 }
37845 return true;
37846 case starTransactionTypePublicPostSearch::ID:
37847 if constexpr (AllowTag) {
37848 downcast_call_tag<starTransactionTypePublicPostSearch> type_tag;
37849 func(type_tag);
37850 } else {
37851 func(static_cast<starTransactionTypePublicPostSearch &>(*obj));
37852 }
37853 return true;
37854 case starTransactionTypeUnsupported::ID:
37855 if constexpr (AllowTag) {
37856 downcast_call_tag<starTransactionTypeUnsupported> type_tag;
37857 func(type_tag);
37858 } else {
37859 func(static_cast<starTransactionTypeUnsupported &>(*obj));
37860 }
37861 return true;
37862 default:
37863 return false;
37864 }
37865}

◆ downcast_call_impl() [166/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StatisticalGraph obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37930 of file td_api.hpp.

37930 { //-V2008
37931 switch (constructor) {
37932 case statisticalGraphData::ID:
37933 if constexpr (AllowTag) {
37934 downcast_call_tag<statisticalGraphData> type_tag;
37935 func(type_tag);
37936 } else {
37937 func(static_cast<statisticalGraphData &>(*obj));
37938 }
37939 return true;
37940 case statisticalGraphAsync::ID:
37941 if constexpr (AllowTag) {
37942 downcast_call_tag<statisticalGraphAsync> type_tag;
37943 func(type_tag);
37944 } else {
37945 func(static_cast<statisticalGraphAsync &>(*obj));
37946 }
37947 return true;
37948 case statisticalGraphError::ID:
37949 if constexpr (AllowTag) {
37950 downcast_call_tag<statisticalGraphError> type_tag;
37951 func(type_tag);
37952 } else {
37953 func(static_cast<statisticalGraphError &>(*obj));
37954 }
37955 return true;
37956 default:
37957 return false;
37958 }
37959}

◆ downcast_call_impl() [167/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StickerFormat obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 37981 of file td_api.hpp.

37981 { //-V2008
37982 switch (constructor) {
37983 case stickerFormatWebp::ID:
37984 if constexpr (AllowTag) {
37985 downcast_call_tag<stickerFormatWebp> type_tag;
37986 func(type_tag);
37987 } else {
37988 func(static_cast<stickerFormatWebp &>(*obj));
37989 }
37990 return true;
37991 case stickerFormatTgs::ID:
37992 if constexpr (AllowTag) {
37993 downcast_call_tag<stickerFormatTgs> type_tag;
37994 func(type_tag);
37995 } else {
37996 func(static_cast<stickerFormatTgs &>(*obj));
37997 }
37998 return true;
37999 case stickerFormatWebm::ID:
38000 if constexpr (AllowTag) {
38001 downcast_call_tag<stickerFormatWebm> type_tag;
38002 func(type_tag);
38003 } else {
38004 func(static_cast<stickerFormatWebm &>(*obj));
38005 }
38006 return true;
38007 default:
38008 return false;
38009 }
38010}

◆ downcast_call_impl() [168/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StickerFullType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38032 of file td_api.hpp.

38032 { //-V2008
38033 switch (constructor) {
38034 case stickerFullTypeRegular::ID:
38035 if constexpr (AllowTag) {
38036 downcast_call_tag<stickerFullTypeRegular> type_tag;
38037 func(type_tag);
38038 } else {
38039 func(static_cast<stickerFullTypeRegular &>(*obj));
38040 }
38041 return true;
38042 case stickerFullTypeMask::ID:
38043 if constexpr (AllowTag) {
38044 downcast_call_tag<stickerFullTypeMask> type_tag;
38045 func(type_tag);
38046 } else {
38047 func(static_cast<stickerFullTypeMask &>(*obj));
38048 }
38049 return true;
38050 case stickerFullTypeCustomEmoji::ID:
38051 if constexpr (AllowTag) {
38052 downcast_call_tag<stickerFullTypeCustomEmoji> type_tag;
38053 func(type_tag);
38054 } else {
38055 func(static_cast<stickerFullTypeCustomEmoji &>(*obj));
38056 }
38057 return true;
38058 default:
38059 return false;
38060 }
38061}

◆ downcast_call_impl() [169/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StickerType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38083 of file td_api.hpp.

38083 { //-V2008
38084 switch (constructor) {
38085 case stickerTypeRegular::ID:
38086 if constexpr (AllowTag) {
38087 downcast_call_tag<stickerTypeRegular> type_tag;
38088 func(type_tag);
38089 } else {
38090 func(static_cast<stickerTypeRegular &>(*obj));
38091 }
38092 return true;
38093 case stickerTypeMask::ID:
38094 if constexpr (AllowTag) {
38095 downcast_call_tag<stickerTypeMask> type_tag;
38096 func(type_tag);
38097 } else {
38098 func(static_cast<stickerTypeMask &>(*obj));
38099 }
38100 return true;
38101 case stickerTypeCustomEmoji::ID:
38102 if constexpr (AllowTag) {
38103 downcast_call_tag<stickerTypeCustomEmoji> type_tag;
38104 func(type_tag);
38105 } else {
38106 func(static_cast<stickerTypeCustomEmoji &>(*obj));
38107 }
38108 return true;
38109 default:
38110 return false;
38111 }
38112}

◆ downcast_call_impl() [170/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StorePaymentPurpose obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38134 of file td_api.hpp.

38134 { //-V2008
38135 switch (constructor) {
38136 case storePaymentPurposePremiumSubscription::ID:
38137 if constexpr (AllowTag) {
38138 downcast_call_tag<storePaymentPurposePremiumSubscription> type_tag;
38139 func(type_tag);
38140 } else {
38141 func(static_cast<storePaymentPurposePremiumSubscription &>(*obj));
38142 }
38143 return true;
38144 case storePaymentPurposePremiumGift::ID:
38145 if constexpr (AllowTag) {
38146 downcast_call_tag<storePaymentPurposePremiumGift> type_tag;
38147 func(type_tag);
38148 } else {
38149 func(static_cast<storePaymentPurposePremiumGift &>(*obj));
38150 }
38151 return true;
38152 case storePaymentPurposePremiumGiftCodes::ID:
38153 if constexpr (AllowTag) {
38154 downcast_call_tag<storePaymentPurposePremiumGiftCodes> type_tag;
38155 func(type_tag);
38156 } else {
38157 func(static_cast<storePaymentPurposePremiumGiftCodes &>(*obj));
38158 }
38159 return true;
38160 case storePaymentPurposePremiumGiveaway::ID:
38161 if constexpr (AllowTag) {
38162 downcast_call_tag<storePaymentPurposePremiumGiveaway> type_tag;
38163 func(type_tag);
38164 } else {
38165 func(static_cast<storePaymentPurposePremiumGiveaway &>(*obj));
38166 }
38167 return true;
38168 case storePaymentPurposeStarGiveaway::ID:
38169 if constexpr (AllowTag) {
38170 downcast_call_tag<storePaymentPurposeStarGiveaway> type_tag;
38171 func(type_tag);
38172 } else {
38173 func(static_cast<storePaymentPurposeStarGiveaway &>(*obj));
38174 }
38175 return true;
38176 case storePaymentPurposeStars::ID:
38177 if constexpr (AllowTag) {
38178 downcast_call_tag<storePaymentPurposeStars> type_tag;
38179 func(type_tag);
38180 } else {
38181 func(static_cast<storePaymentPurposeStars &>(*obj));
38182 }
38183 return true;
38184 case storePaymentPurposeGiftedStars::ID:
38185 if constexpr (AllowTag) {
38186 downcast_call_tag<storePaymentPurposeGiftedStars> type_tag;
38187 func(type_tag);
38188 } else {
38189 func(static_cast<storePaymentPurposeGiftedStars &>(*obj));
38190 }
38191 return true;
38192 default:
38193 return false;
38194 }
38195}

◆ downcast_call_impl() [171/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoreTransaction obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38217 of file td_api.hpp.

38217 { //-V2008
38218 switch (constructor) {
38219 case storeTransactionAppStore::ID:
38220 if constexpr (AllowTag) {
38221 downcast_call_tag<storeTransactionAppStore> type_tag;
38222 func(type_tag);
38223 } else {
38224 func(static_cast<storeTransactionAppStore &>(*obj));
38225 }
38226 return true;
38227 case storeTransactionGooglePlay::ID:
38228 if constexpr (AllowTag) {
38229 downcast_call_tag<storeTransactionGooglePlay> type_tag;
38230 func(type_tag);
38231 } else {
38232 func(static_cast<storeTransactionGooglePlay &>(*obj));
38233 }
38234 return true;
38235 default:
38236 return false;
38237 }
38238}

◆ downcast_call_impl() [172/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryAreaType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38260 of file td_api.hpp.

38260 { //-V2008
38261 switch (constructor) {
38262 case storyAreaTypeLocation::ID:
38263 if constexpr (AllowTag) {
38264 downcast_call_tag<storyAreaTypeLocation> type_tag;
38265 func(type_tag);
38266 } else {
38267 func(static_cast<storyAreaTypeLocation &>(*obj));
38268 }
38269 return true;
38270 case storyAreaTypeVenue::ID:
38271 if constexpr (AllowTag) {
38272 downcast_call_tag<storyAreaTypeVenue> type_tag;
38273 func(type_tag);
38274 } else {
38275 func(static_cast<storyAreaTypeVenue &>(*obj));
38276 }
38277 return true;
38278 case storyAreaTypeSuggestedReaction::ID:
38279 if constexpr (AllowTag) {
38280 downcast_call_tag<storyAreaTypeSuggestedReaction> type_tag;
38281 func(type_tag);
38282 } else {
38283 func(static_cast<storyAreaTypeSuggestedReaction &>(*obj));
38284 }
38285 return true;
38286 case storyAreaTypeMessage::ID:
38287 if constexpr (AllowTag) {
38288 downcast_call_tag<storyAreaTypeMessage> type_tag;
38289 func(type_tag);
38290 } else {
38291 func(static_cast<storyAreaTypeMessage &>(*obj));
38292 }
38293 return true;
38294 case storyAreaTypeLink::ID:
38295 if constexpr (AllowTag) {
38296 downcast_call_tag<storyAreaTypeLink> type_tag;
38297 func(type_tag);
38298 } else {
38299 func(static_cast<storyAreaTypeLink &>(*obj));
38300 }
38301 return true;
38302 case storyAreaTypeWeather::ID:
38303 if constexpr (AllowTag) {
38304 downcast_call_tag<storyAreaTypeWeather> type_tag;
38305 func(type_tag);
38306 } else {
38307 func(static_cast<storyAreaTypeWeather &>(*obj));
38308 }
38309 return true;
38310 case storyAreaTypeUpgradedGift::ID:
38311 if constexpr (AllowTag) {
38312 downcast_call_tag<storyAreaTypeUpgradedGift> type_tag;
38313 func(type_tag);
38314 } else {
38315 func(static_cast<storyAreaTypeUpgradedGift &>(*obj));
38316 }
38317 return true;
38318 default:
38319 return false;
38320 }
38321}

◆ downcast_call_impl() [173/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryContent obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38343 of file td_api.hpp.

38343 { //-V2008
38344 switch (constructor) {
38345 case storyContentPhoto::ID:
38346 if constexpr (AllowTag) {
38347 downcast_call_tag<storyContentPhoto> type_tag;
38348 func(type_tag);
38349 } else {
38350 func(static_cast<storyContentPhoto &>(*obj));
38351 }
38352 return true;
38353 case storyContentVideo::ID:
38354 if constexpr (AllowTag) {
38355 downcast_call_tag<storyContentVideo> type_tag;
38356 func(type_tag);
38357 } else {
38358 func(static_cast<storyContentVideo &>(*obj));
38359 }
38360 return true;
38361 case storyContentLive::ID:
38362 if constexpr (AllowTag) {
38363 downcast_call_tag<storyContentLive> type_tag;
38364 func(type_tag);
38365 } else {
38366 func(static_cast<storyContentLive &>(*obj));
38367 }
38368 return true;
38369 case storyContentUnsupported::ID:
38370 if constexpr (AllowTag) {
38371 downcast_call_tag<storyContentUnsupported> type_tag;
38372 func(type_tag);
38373 } else {
38374 func(static_cast<storyContentUnsupported &>(*obj));
38375 }
38376 return true;
38377 default:
38378 return false;
38379 }
38380}

◆ downcast_call_impl() [174/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryContentType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38402 of file td_api.hpp.

38402 { //-V2008
38403 switch (constructor) {
38404 case storyContentTypePhoto::ID:
38405 if constexpr (AllowTag) {
38406 downcast_call_tag<storyContentTypePhoto> type_tag;
38407 func(type_tag);
38408 } else {
38409 func(static_cast<storyContentTypePhoto &>(*obj));
38410 }
38411 return true;
38412 case storyContentTypeVideo::ID:
38413 if constexpr (AllowTag) {
38414 downcast_call_tag<storyContentTypeVideo> type_tag;
38415 func(type_tag);
38416 } else {
38417 func(static_cast<storyContentTypeVideo &>(*obj));
38418 }
38419 return true;
38420 case storyContentTypeLive::ID:
38421 if constexpr (AllowTag) {
38422 downcast_call_tag<storyContentTypeLive> type_tag;
38423 func(type_tag);
38424 } else {
38425 func(static_cast<storyContentTypeLive &>(*obj));
38426 }
38427 return true;
38428 case storyContentTypeUnsupported::ID:
38429 if constexpr (AllowTag) {
38430 downcast_call_tag<storyContentTypeUnsupported> type_tag;
38431 func(type_tag);
38432 } else {
38433 func(static_cast<storyContentTypeUnsupported &>(*obj));
38434 }
38435 return true;
38436 default:
38437 return false;
38438 }
38439}

◆ downcast_call_impl() [175/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryInteractionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38461 of file td_api.hpp.

38461 { //-V2008
38462 switch (constructor) {
38463 case storyInteractionTypeView::ID:
38464 if constexpr (AllowTag) {
38465 downcast_call_tag<storyInteractionTypeView> type_tag;
38466 func(type_tag);
38467 } else {
38468 func(static_cast<storyInteractionTypeView &>(*obj));
38469 }
38470 return true;
38471 case storyInteractionTypeForward::ID:
38472 if constexpr (AllowTag) {
38473 downcast_call_tag<storyInteractionTypeForward> type_tag;
38474 func(type_tag);
38475 } else {
38476 func(static_cast<storyInteractionTypeForward &>(*obj));
38477 }
38478 return true;
38479 case storyInteractionTypeRepost::ID:
38480 if constexpr (AllowTag) {
38481 downcast_call_tag<storyInteractionTypeRepost> type_tag;
38482 func(type_tag);
38483 } else {
38484 func(static_cast<storyInteractionTypeRepost &>(*obj));
38485 }
38486 return true;
38487 default:
38488 return false;
38489 }
38490}

◆ downcast_call_impl() [176/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryList obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38512 of file td_api.hpp.

38512 { //-V2008
38513 switch (constructor) {
38514 case storyListMain::ID:
38515 if constexpr (AllowTag) {
38516 downcast_call_tag<storyListMain> type_tag;
38517 func(type_tag);
38518 } else {
38519 func(static_cast<storyListMain &>(*obj));
38520 }
38521 return true;
38522 case storyListArchive::ID:
38523 if constexpr (AllowTag) {
38524 downcast_call_tag<storyListArchive> type_tag;
38525 func(type_tag);
38526 } else {
38527 func(static_cast<storyListArchive &>(*obj));
38528 }
38529 return true;
38530 default:
38531 return false;
38532 }
38533}

◆ downcast_call_impl() [177/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryOrigin obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38555 of file td_api.hpp.

38555 { //-V2008
38556 switch (constructor) {
38557 case storyOriginPublicStory::ID:
38558 if constexpr (AllowTag) {
38559 downcast_call_tag<storyOriginPublicStory> type_tag;
38560 func(type_tag);
38561 } else {
38562 func(static_cast<storyOriginPublicStory &>(*obj));
38563 }
38564 return true;
38565 case storyOriginHiddenUser::ID:
38566 if constexpr (AllowTag) {
38567 downcast_call_tag<storyOriginHiddenUser> type_tag;
38568 func(type_tag);
38569 } else {
38570 func(static_cast<storyOriginHiddenUser &>(*obj));
38571 }
38572 return true;
38573 default:
38574 return false;
38575 }
38576}

◆ downcast_call_impl() [178/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
StoryPrivacySettings obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38598 of file td_api.hpp.

38598 { //-V2008
38599 switch (constructor) {
38600 case storyPrivacySettingsEveryone::ID:
38601 if constexpr (AllowTag) {
38602 downcast_call_tag<storyPrivacySettingsEveryone> type_tag;
38603 func(type_tag);
38604 } else {
38605 func(static_cast<storyPrivacySettingsEveryone &>(*obj));
38606 }
38607 return true;
38608 case storyPrivacySettingsContacts::ID:
38609 if constexpr (AllowTag) {
38610 downcast_call_tag<storyPrivacySettingsContacts> type_tag;
38611 func(type_tag);
38612 } else {
38613 func(static_cast<storyPrivacySettingsContacts &>(*obj));
38614 }
38615 return true;
38616 case storyPrivacySettingsCloseFriends::ID:
38617 if constexpr (AllowTag) {
38618 downcast_call_tag<storyPrivacySettingsCloseFriends> type_tag;
38619 func(type_tag);
38620 } else {
38621 func(static_cast<storyPrivacySettingsCloseFriends &>(*obj));
38622 }
38623 return true;
38624 case storyPrivacySettingsSelectedUsers::ID:
38625 if constexpr (AllowTag) {
38626 downcast_call_tag<storyPrivacySettingsSelectedUsers> type_tag;
38627 func(type_tag);
38628 } else {
38629 func(static_cast<storyPrivacySettingsSelectedUsers &>(*obj));
38630 }
38631 return true;
38632 default:
38633 return false;
38634 }
38635}

◆ downcast_call_impl() [179/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SuggestedAction obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38657 of file td_api.hpp.

38657 { //-V2008
38658 switch (constructor) {
38659 case suggestedActionEnableArchiveAndMuteNewChats::ID:
38660 if constexpr (AllowTag) {
38661 downcast_call_tag<suggestedActionEnableArchiveAndMuteNewChats> type_tag;
38662 func(type_tag);
38663 } else {
38664 func(static_cast<suggestedActionEnableArchiveAndMuteNewChats &>(*obj));
38665 }
38666 return true;
38667 case suggestedActionCheckPassword::ID:
38668 if constexpr (AllowTag) {
38669 downcast_call_tag<suggestedActionCheckPassword> type_tag;
38670 func(type_tag);
38671 } else {
38672 func(static_cast<suggestedActionCheckPassword &>(*obj));
38673 }
38674 return true;
38675 case suggestedActionCheckPhoneNumber::ID:
38676 if constexpr (AllowTag) {
38677 downcast_call_tag<suggestedActionCheckPhoneNumber> type_tag;
38678 func(type_tag);
38679 } else {
38680 func(static_cast<suggestedActionCheckPhoneNumber &>(*obj));
38681 }
38682 return true;
38683 case suggestedActionViewChecksHint::ID:
38684 if constexpr (AllowTag) {
38685 downcast_call_tag<suggestedActionViewChecksHint> type_tag;
38686 func(type_tag);
38687 } else {
38688 func(static_cast<suggestedActionViewChecksHint &>(*obj));
38689 }
38690 return true;
38691 case suggestedActionConvertToBroadcastGroup::ID:
38692 if constexpr (AllowTag) {
38693 downcast_call_tag<suggestedActionConvertToBroadcastGroup> type_tag;
38694 func(type_tag);
38695 } else {
38696 func(static_cast<suggestedActionConvertToBroadcastGroup &>(*obj));
38697 }
38698 return true;
38699 case suggestedActionSetPassword::ID:
38700 if constexpr (AllowTag) {
38701 downcast_call_tag<suggestedActionSetPassword> type_tag;
38702 func(type_tag);
38703 } else {
38704 func(static_cast<suggestedActionSetPassword &>(*obj));
38705 }
38706 return true;
38707 case suggestedActionUpgradePremium::ID:
38708 if constexpr (AllowTag) {
38709 downcast_call_tag<suggestedActionUpgradePremium> type_tag;
38710 func(type_tag);
38711 } else {
38712 func(static_cast<suggestedActionUpgradePremium &>(*obj));
38713 }
38714 return true;
38715 case suggestedActionRestorePremium::ID:
38716 if constexpr (AllowTag) {
38717 downcast_call_tag<suggestedActionRestorePremium> type_tag;
38718 func(type_tag);
38719 } else {
38720 func(static_cast<suggestedActionRestorePremium &>(*obj));
38721 }
38722 return true;
38723 case suggestedActionSubscribeToAnnualPremium::ID:
38724 if constexpr (AllowTag) {
38725 downcast_call_tag<suggestedActionSubscribeToAnnualPremium> type_tag;
38726 func(type_tag);
38727 } else {
38728 func(static_cast<suggestedActionSubscribeToAnnualPremium &>(*obj));
38729 }
38730 return true;
38731 case suggestedActionGiftPremiumForChristmas::ID:
38732 if constexpr (AllowTag) {
38733 downcast_call_tag<suggestedActionGiftPremiumForChristmas> type_tag;
38734 func(type_tag);
38735 } else {
38736 func(static_cast<suggestedActionGiftPremiumForChristmas &>(*obj));
38737 }
38738 return true;
38739 case suggestedActionSetBirthdate::ID:
38740 if constexpr (AllowTag) {
38741 downcast_call_tag<suggestedActionSetBirthdate> type_tag;
38742 func(type_tag);
38743 } else {
38744 func(static_cast<suggestedActionSetBirthdate &>(*obj));
38745 }
38746 return true;
38747 case suggestedActionSetProfilePhoto::ID:
38748 if constexpr (AllowTag) {
38749 downcast_call_tag<suggestedActionSetProfilePhoto> type_tag;
38750 func(type_tag);
38751 } else {
38752 func(static_cast<suggestedActionSetProfilePhoto &>(*obj));
38753 }
38754 return true;
38755 case suggestedActionExtendPremium::ID:
38756 if constexpr (AllowTag) {
38757 downcast_call_tag<suggestedActionExtendPremium> type_tag;
38758 func(type_tag);
38759 } else {
38760 func(static_cast<suggestedActionExtendPremium &>(*obj));
38761 }
38762 return true;
38763 case suggestedActionExtendStarSubscriptions::ID:
38764 if constexpr (AllowTag) {
38765 downcast_call_tag<suggestedActionExtendStarSubscriptions> type_tag;
38766 func(type_tag);
38767 } else {
38768 func(static_cast<suggestedActionExtendStarSubscriptions &>(*obj));
38769 }
38770 return true;
38771 case suggestedActionCustom::ID:
38772 if constexpr (AllowTag) {
38773 downcast_call_tag<suggestedActionCustom> type_tag;
38774 func(type_tag);
38775 } else {
38776 func(static_cast<suggestedActionCustom &>(*obj));
38777 }
38778 return true;
38779 case suggestedActionSetLoginEmailAddress::ID:
38780 if constexpr (AllowTag) {
38781 downcast_call_tag<suggestedActionSetLoginEmailAddress> type_tag;
38782 func(type_tag);
38783 } else {
38784 func(static_cast<suggestedActionSetLoginEmailAddress &>(*obj));
38785 }
38786 return true;
38787 case suggestedActionAddLoginPasskey::ID:
38788 if constexpr (AllowTag) {
38789 downcast_call_tag<suggestedActionAddLoginPasskey> type_tag;
38790 func(type_tag);
38791 } else {
38792 func(static_cast<suggestedActionAddLoginPasskey &>(*obj));
38793 }
38794 return true;
38795 default:
38796 return false;
38797 }
38798}

◆ downcast_call_impl() [180/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SuggestedPostPrice obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38820 of file td_api.hpp.

38820 { //-V2008
38821 switch (constructor) {
38822 case suggestedPostPriceStar::ID:
38823 if constexpr (AllowTag) {
38824 downcast_call_tag<suggestedPostPriceStar> type_tag;
38825 func(type_tag);
38826 } else {
38827 func(static_cast<suggestedPostPriceStar &>(*obj));
38828 }
38829 return true;
38830 case suggestedPostPriceTon::ID:
38831 if constexpr (AllowTag) {
38832 downcast_call_tag<suggestedPostPriceTon> type_tag;
38833 func(type_tag);
38834 } else {
38835 func(static_cast<suggestedPostPriceTon &>(*obj));
38836 }
38837 return true;
38838 default:
38839 return false;
38840 }
38841}

◆ downcast_call_impl() [181/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SuggestedPostRefundReason obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38863 of file td_api.hpp.

38863 { //-V2008
38864 switch (constructor) {
38865 case suggestedPostRefundReasonPostDeleted::ID:
38866 if constexpr (AllowTag) {
38867 downcast_call_tag<suggestedPostRefundReasonPostDeleted> type_tag;
38868 func(type_tag);
38869 } else {
38870 func(static_cast<suggestedPostRefundReasonPostDeleted &>(*obj));
38871 }
38872 return true;
38873 case suggestedPostRefundReasonPaymentRefunded::ID:
38874 if constexpr (AllowTag) {
38875 downcast_call_tag<suggestedPostRefundReasonPaymentRefunded> type_tag;
38876 func(type_tag);
38877 } else {
38878 func(static_cast<suggestedPostRefundReasonPaymentRefunded &>(*obj));
38879 }
38880 return true;
38881 default:
38882 return false;
38883 }
38884}

◆ downcast_call_impl() [182/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SuggestedPostState obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38906 of file td_api.hpp.

38906 { //-V2008
38907 switch (constructor) {
38908 case suggestedPostStatePending::ID:
38909 if constexpr (AllowTag) {
38910 downcast_call_tag<suggestedPostStatePending> type_tag;
38911 func(type_tag);
38912 } else {
38913 func(static_cast<suggestedPostStatePending &>(*obj));
38914 }
38915 return true;
38916 case suggestedPostStateApproved::ID:
38917 if constexpr (AllowTag) {
38918 downcast_call_tag<suggestedPostStateApproved> type_tag;
38919 func(type_tag);
38920 } else {
38921 func(static_cast<suggestedPostStateApproved &>(*obj));
38922 }
38923 return true;
38924 case suggestedPostStateDeclined::ID:
38925 if constexpr (AllowTag) {
38926 downcast_call_tag<suggestedPostStateDeclined> type_tag;
38927 func(type_tag);
38928 } else {
38929 func(static_cast<suggestedPostStateDeclined &>(*obj));
38930 }
38931 return true;
38932 default:
38933 return false;
38934 }
38935}

◆ downcast_call_impl() [183/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
SupergroupMembersFilter obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 38957 of file td_api.hpp.

38957 { //-V2008
38958 switch (constructor) {
38959 case supergroupMembersFilterRecent::ID:
38960 if constexpr (AllowTag) {
38961 downcast_call_tag<supergroupMembersFilterRecent> type_tag;
38962 func(type_tag);
38963 } else {
38964 func(static_cast<supergroupMembersFilterRecent &>(*obj));
38965 }
38966 return true;
38967 case supergroupMembersFilterContacts::ID:
38968 if constexpr (AllowTag) {
38969 downcast_call_tag<supergroupMembersFilterContacts> type_tag;
38970 func(type_tag);
38971 } else {
38972 func(static_cast<supergroupMembersFilterContacts &>(*obj));
38973 }
38974 return true;
38975 case supergroupMembersFilterAdministrators::ID:
38976 if constexpr (AllowTag) {
38977 downcast_call_tag<supergroupMembersFilterAdministrators> type_tag;
38978 func(type_tag);
38979 } else {
38980 func(static_cast<supergroupMembersFilterAdministrators &>(*obj));
38981 }
38982 return true;
38983 case supergroupMembersFilterSearch::ID:
38984 if constexpr (AllowTag) {
38985 downcast_call_tag<supergroupMembersFilterSearch> type_tag;
38986 func(type_tag);
38987 } else {
38988 func(static_cast<supergroupMembersFilterSearch &>(*obj));
38989 }
38990 return true;
38991 case supergroupMembersFilterRestricted::ID:
38992 if constexpr (AllowTag) {
38993 downcast_call_tag<supergroupMembersFilterRestricted> type_tag;
38994 func(type_tag);
38995 } else {
38996 func(static_cast<supergroupMembersFilterRestricted &>(*obj));
38997 }
38998 return true;
38999 case supergroupMembersFilterBanned::ID:
39000 if constexpr (AllowTag) {
39001 downcast_call_tag<supergroupMembersFilterBanned> type_tag;
39002 func(type_tag);
39003 } else {
39004 func(static_cast<supergroupMembersFilterBanned &>(*obj));
39005 }
39006 return true;
39007 case supergroupMembersFilterMention::ID:
39008 if constexpr (AllowTag) {
39009 downcast_call_tag<supergroupMembersFilterMention> type_tag;
39010 func(type_tag);
39011 } else {
39012 func(static_cast<supergroupMembersFilterMention &>(*obj));
39013 }
39014 return true;
39015 case supergroupMembersFilterBots::ID:
39016 if constexpr (AllowTag) {
39017 downcast_call_tag<supergroupMembersFilterBots> type_tag;
39018 func(type_tag);
39019 } else {
39020 func(static_cast<supergroupMembersFilterBots &>(*obj));
39021 }
39022 return true;
39023 default:
39024 return false;
39025 }
39026}

◆ downcast_call_impl() [184/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TargetChat obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39107 of file td_api.hpp.

39107 { //-V2008
39108 switch (constructor) {
39109 case targetChatCurrent::ID:
39110 if constexpr (AllowTag) {
39111 downcast_call_tag<targetChatCurrent> type_tag;
39112 func(type_tag);
39113 } else {
39114 func(static_cast<targetChatCurrent &>(*obj));
39115 }
39116 return true;
39117 case targetChatChosen::ID:
39118 if constexpr (AllowTag) {
39119 downcast_call_tag<targetChatChosen> type_tag;
39120 func(type_tag);
39121 } else {
39122 func(static_cast<targetChatChosen &>(*obj));
39123 }
39124 return true;
39125 case targetChatInternalLink::ID:
39126 if constexpr (AllowTag) {
39127 downcast_call_tag<targetChatInternalLink> type_tag;
39128 func(type_tag);
39129 } else {
39130 func(static_cast<targetChatInternalLink &>(*obj));
39131 }
39132 return true;
39133 default:
39134 return false;
39135 }
39136}

◆ downcast_call_impl() [185/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TelegramPaymentPurpose obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39158 of file td_api.hpp.

39158 { //-V2008
39159 switch (constructor) {
39160 case telegramPaymentPurposePremiumGift::ID:
39161 if constexpr (AllowTag) {
39162 downcast_call_tag<telegramPaymentPurposePremiumGift> type_tag;
39163 func(type_tag);
39164 } else {
39165 func(static_cast<telegramPaymentPurposePremiumGift &>(*obj));
39166 }
39167 return true;
39168 case telegramPaymentPurposePremiumGiftCodes::ID:
39169 if constexpr (AllowTag) {
39170 downcast_call_tag<telegramPaymentPurposePremiumGiftCodes> type_tag;
39171 func(type_tag);
39172 } else {
39173 func(static_cast<telegramPaymentPurposePremiumGiftCodes &>(*obj));
39174 }
39175 return true;
39176 case telegramPaymentPurposePremiumGiveaway::ID:
39177 if constexpr (AllowTag) {
39178 downcast_call_tag<telegramPaymentPurposePremiumGiveaway> type_tag;
39179 func(type_tag);
39180 } else {
39181 func(static_cast<telegramPaymentPurposePremiumGiveaway &>(*obj));
39182 }
39183 return true;
39184 case telegramPaymentPurposeStars::ID:
39185 if constexpr (AllowTag) {
39186 downcast_call_tag<telegramPaymentPurposeStars> type_tag;
39187 func(type_tag);
39188 } else {
39189 func(static_cast<telegramPaymentPurposeStars &>(*obj));
39190 }
39191 return true;
39192 case telegramPaymentPurposeGiftedStars::ID:
39193 if constexpr (AllowTag) {
39194 downcast_call_tag<telegramPaymentPurposeGiftedStars> type_tag;
39195 func(type_tag);
39196 } else {
39197 func(static_cast<telegramPaymentPurposeGiftedStars &>(*obj));
39198 }
39199 return true;
39200 case telegramPaymentPurposeStarGiveaway::ID:
39201 if constexpr (AllowTag) {
39202 downcast_call_tag<telegramPaymentPurposeStarGiveaway> type_tag;
39203 func(type_tag);
39204 } else {
39205 func(static_cast<telegramPaymentPurposeStarGiveaway &>(*obj));
39206 }
39207 return true;
39208 case telegramPaymentPurposeJoinChat::ID:
39209 if constexpr (AllowTag) {
39210 downcast_call_tag<telegramPaymentPurposeJoinChat> type_tag;
39211 func(type_tag);
39212 } else {
39213 func(static_cast<telegramPaymentPurposeJoinChat &>(*obj));
39214 }
39215 return true;
39216 default:
39217 return false;
39218 }
39219}

◆ downcast_call_impl() [186/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TextEntityType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39241 of file td_api.hpp.

39241 { //-V2008
39242 switch (constructor) {
39243 case textEntityTypeMention::ID:
39244 if constexpr (AllowTag) {
39245 downcast_call_tag<textEntityTypeMention> type_tag;
39246 func(type_tag);
39247 } else {
39248 func(static_cast<textEntityTypeMention &>(*obj));
39249 }
39250 return true;
39251 case textEntityTypeHashtag::ID:
39252 if constexpr (AllowTag) {
39253 downcast_call_tag<textEntityTypeHashtag> type_tag;
39254 func(type_tag);
39255 } else {
39256 func(static_cast<textEntityTypeHashtag &>(*obj));
39257 }
39258 return true;
39259 case textEntityTypeCashtag::ID:
39260 if constexpr (AllowTag) {
39261 downcast_call_tag<textEntityTypeCashtag> type_tag;
39262 func(type_tag);
39263 } else {
39264 func(static_cast<textEntityTypeCashtag &>(*obj));
39265 }
39266 return true;
39267 case textEntityTypeBotCommand::ID:
39268 if constexpr (AllowTag) {
39269 downcast_call_tag<textEntityTypeBotCommand> type_tag;
39270 func(type_tag);
39271 } else {
39272 func(static_cast<textEntityTypeBotCommand &>(*obj));
39273 }
39274 return true;
39275 case textEntityTypeUrl::ID:
39276 if constexpr (AllowTag) {
39277 downcast_call_tag<textEntityTypeUrl> type_tag;
39278 func(type_tag);
39279 } else {
39280 func(static_cast<textEntityTypeUrl &>(*obj));
39281 }
39282 return true;
39283 case textEntityTypeEmailAddress::ID:
39284 if constexpr (AllowTag) {
39285 downcast_call_tag<textEntityTypeEmailAddress> type_tag;
39286 func(type_tag);
39287 } else {
39288 func(static_cast<textEntityTypeEmailAddress &>(*obj));
39289 }
39290 return true;
39291 case textEntityTypePhoneNumber::ID:
39292 if constexpr (AllowTag) {
39293 downcast_call_tag<textEntityTypePhoneNumber> type_tag;
39294 func(type_tag);
39295 } else {
39296 func(static_cast<textEntityTypePhoneNumber &>(*obj));
39297 }
39298 return true;
39299 case textEntityTypeBankCardNumber::ID:
39300 if constexpr (AllowTag) {
39301 downcast_call_tag<textEntityTypeBankCardNumber> type_tag;
39302 func(type_tag);
39303 } else {
39304 func(static_cast<textEntityTypeBankCardNumber &>(*obj));
39305 }
39306 return true;
39307 case textEntityTypeBold::ID:
39308 if constexpr (AllowTag) {
39309 downcast_call_tag<textEntityTypeBold> type_tag;
39310 func(type_tag);
39311 } else {
39312 func(static_cast<textEntityTypeBold &>(*obj));
39313 }
39314 return true;
39315 case textEntityTypeItalic::ID:
39316 if constexpr (AllowTag) {
39317 downcast_call_tag<textEntityTypeItalic> type_tag;
39318 func(type_tag);
39319 } else {
39320 func(static_cast<textEntityTypeItalic &>(*obj));
39321 }
39322 return true;
39323 case textEntityTypeUnderline::ID:
39324 if constexpr (AllowTag) {
39325 downcast_call_tag<textEntityTypeUnderline> type_tag;
39326 func(type_tag);
39327 } else {
39328 func(static_cast<textEntityTypeUnderline &>(*obj));
39329 }
39330 return true;
39331 case textEntityTypeStrikethrough::ID:
39332 if constexpr (AllowTag) {
39333 downcast_call_tag<textEntityTypeStrikethrough> type_tag;
39334 func(type_tag);
39335 } else {
39336 func(static_cast<textEntityTypeStrikethrough &>(*obj));
39337 }
39338 return true;
39339 case textEntityTypeSpoiler::ID:
39340 if constexpr (AllowTag) {
39341 downcast_call_tag<textEntityTypeSpoiler> type_tag;
39342 func(type_tag);
39343 } else {
39344 func(static_cast<textEntityTypeSpoiler &>(*obj));
39345 }
39346 return true;
39347 case textEntityTypeCode::ID:
39348 if constexpr (AllowTag) {
39349 downcast_call_tag<textEntityTypeCode> type_tag;
39350 func(type_tag);
39351 } else {
39352 func(static_cast<textEntityTypeCode &>(*obj));
39353 }
39354 return true;
39355 case textEntityTypePre::ID:
39356 if constexpr (AllowTag) {
39357 downcast_call_tag<textEntityTypePre> type_tag;
39358 func(type_tag);
39359 } else {
39360 func(static_cast<textEntityTypePre &>(*obj));
39361 }
39362 return true;
39363 case textEntityTypePreCode::ID:
39364 if constexpr (AllowTag) {
39365 downcast_call_tag<textEntityTypePreCode> type_tag;
39366 func(type_tag);
39367 } else {
39368 func(static_cast<textEntityTypePreCode &>(*obj));
39369 }
39370 return true;
39371 case textEntityTypeBlockQuote::ID:
39372 if constexpr (AllowTag) {
39373 downcast_call_tag<textEntityTypeBlockQuote> type_tag;
39374 func(type_tag);
39375 } else {
39376 func(static_cast<textEntityTypeBlockQuote &>(*obj));
39377 }
39378 return true;
39379 case textEntityTypeExpandableBlockQuote::ID:
39380 if constexpr (AllowTag) {
39381 downcast_call_tag<textEntityTypeExpandableBlockQuote> type_tag;
39382 func(type_tag);
39383 } else {
39384 func(static_cast<textEntityTypeExpandableBlockQuote &>(*obj));
39385 }
39386 return true;
39387 case textEntityTypeTextUrl::ID:
39388 if constexpr (AllowTag) {
39389 downcast_call_tag<textEntityTypeTextUrl> type_tag;
39390 func(type_tag);
39391 } else {
39392 func(static_cast<textEntityTypeTextUrl &>(*obj));
39393 }
39394 return true;
39395 case textEntityTypeMentionName::ID:
39396 if constexpr (AllowTag) {
39397 downcast_call_tag<textEntityTypeMentionName> type_tag;
39398 func(type_tag);
39399 } else {
39400 func(static_cast<textEntityTypeMentionName &>(*obj));
39401 }
39402 return true;
39403 case textEntityTypeCustomEmoji::ID:
39404 if constexpr (AllowTag) {
39405 downcast_call_tag<textEntityTypeCustomEmoji> type_tag;
39406 func(type_tag);
39407 } else {
39408 func(static_cast<textEntityTypeCustomEmoji &>(*obj));
39409 }
39410 return true;
39411 case textEntityTypeMediaTimestamp::ID:
39412 if constexpr (AllowTag) {
39413 downcast_call_tag<textEntityTypeMediaTimestamp> type_tag;
39414 func(type_tag);
39415 } else {
39416 func(static_cast<textEntityTypeMediaTimestamp &>(*obj));
39417 }
39418 return true;
39419 case textEntityTypeDateTime::ID:
39420 if constexpr (AllowTag) {
39421 downcast_call_tag<textEntityTypeDateTime> type_tag;
39422 func(type_tag);
39423 } else {
39424 func(static_cast<textEntityTypeDateTime &>(*obj));
39425 }
39426 return true;
39427 default:
39428 return false;
39429 }
39430}

◆ downcast_call_impl() [187/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TextParseMode obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39452 of file td_api.hpp.

39452 { //-V2008
39453 switch (constructor) {
39454 case textParseModeMarkdown::ID:
39455 if constexpr (AllowTag) {
39456 downcast_call_tag<textParseModeMarkdown> type_tag;
39457 func(type_tag);
39458 } else {
39459 func(static_cast<textParseModeMarkdown &>(*obj));
39460 }
39461 return true;
39462 case textParseModeHTML::ID:
39463 if constexpr (AllowTag) {
39464 downcast_call_tag<textParseModeHTML> type_tag;
39465 func(type_tag);
39466 } else {
39467 func(static_cast<textParseModeHTML &>(*obj));
39468 }
39469 return true;
39470 default:
39471 return false;
39472 }
39473}

◆ downcast_call_impl() [188/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
ThumbnailFormat obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39495 of file td_api.hpp.

39495 { //-V2008
39496 switch (constructor) {
39497 case thumbnailFormatJpeg::ID:
39498 if constexpr (AllowTag) {
39499 downcast_call_tag<thumbnailFormatJpeg> type_tag;
39500 func(type_tag);
39501 } else {
39502 func(static_cast<thumbnailFormatJpeg &>(*obj));
39503 }
39504 return true;
39505 case thumbnailFormatGif::ID:
39506 if constexpr (AllowTag) {
39507 downcast_call_tag<thumbnailFormatGif> type_tag;
39508 func(type_tag);
39509 } else {
39510 func(static_cast<thumbnailFormatGif &>(*obj));
39511 }
39512 return true;
39513 case thumbnailFormatMpeg4::ID:
39514 if constexpr (AllowTag) {
39515 downcast_call_tag<thumbnailFormatMpeg4> type_tag;
39516 func(type_tag);
39517 } else {
39518 func(static_cast<thumbnailFormatMpeg4 &>(*obj));
39519 }
39520 return true;
39521 case thumbnailFormatPng::ID:
39522 if constexpr (AllowTag) {
39523 downcast_call_tag<thumbnailFormatPng> type_tag;
39524 func(type_tag);
39525 } else {
39526 func(static_cast<thumbnailFormatPng &>(*obj));
39527 }
39528 return true;
39529 case thumbnailFormatTgs::ID:
39530 if constexpr (AllowTag) {
39531 downcast_call_tag<thumbnailFormatTgs> type_tag;
39532 func(type_tag);
39533 } else {
39534 func(static_cast<thumbnailFormatTgs &>(*obj));
39535 }
39536 return true;
39537 case thumbnailFormatWebm::ID:
39538 if constexpr (AllowTag) {
39539 downcast_call_tag<thumbnailFormatWebm> type_tag;
39540 func(type_tag);
39541 } else {
39542 func(static_cast<thumbnailFormatWebm &>(*obj));
39543 }
39544 return true;
39545 case thumbnailFormatWebp::ID:
39546 if constexpr (AllowTag) {
39547 downcast_call_tag<thumbnailFormatWebp> type_tag;
39548 func(type_tag);
39549 } else {
39550 func(static_cast<thumbnailFormatWebp &>(*obj));
39551 }
39552 return true;
39553 default:
39554 return false;
39555 }
39556}

◆ downcast_call_impl() [189/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TMeUrlType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39048 of file td_api.hpp.

39048 { //-V2008
39049 switch (constructor) {
39050 case tMeUrlTypeUser::ID:
39051 if constexpr (AllowTag) {
39052 downcast_call_tag<tMeUrlTypeUser> type_tag;
39053 func(type_tag);
39054 } else {
39055 func(static_cast<tMeUrlTypeUser &>(*obj));
39056 }
39057 return true;
39058 case tMeUrlTypeSupergroup::ID:
39059 if constexpr (AllowTag) {
39060 downcast_call_tag<tMeUrlTypeSupergroup> type_tag;
39061 func(type_tag);
39062 } else {
39063 func(static_cast<tMeUrlTypeSupergroup &>(*obj));
39064 }
39065 return true;
39066 case tMeUrlTypeChatInvite::ID:
39067 if constexpr (AllowTag) {
39068 downcast_call_tag<tMeUrlTypeChatInvite> type_tag;
39069 func(type_tag);
39070 } else {
39071 func(static_cast<tMeUrlTypeChatInvite &>(*obj));
39072 }
39073 return true;
39074 case tMeUrlTypeStickerSet::ID:
39075 if constexpr (AllowTag) {
39076 downcast_call_tag<tMeUrlTypeStickerSet> type_tag;
39077 func(type_tag);
39078 } else {
39079 func(static_cast<tMeUrlTypeStickerSet &>(*obj));
39080 }
39081 return true;
39082 default:
39083 return false;
39084 }
39085}

◆ downcast_call_impl() [190/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TonTransactionType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39578 of file td_api.hpp.

39578 { //-V2008
39579 switch (constructor) {
39580 case tonTransactionTypeFragmentDeposit::ID:
39581 if constexpr (AllowTag) {
39582 downcast_call_tag<tonTransactionTypeFragmentDeposit> type_tag;
39583 func(type_tag);
39584 } else {
39585 func(static_cast<tonTransactionTypeFragmentDeposit &>(*obj));
39586 }
39587 return true;
39588 case tonTransactionTypeFragmentWithdrawal::ID:
39589 if constexpr (AllowTag) {
39590 downcast_call_tag<tonTransactionTypeFragmentWithdrawal> type_tag;
39591 func(type_tag);
39592 } else {
39593 func(static_cast<tonTransactionTypeFragmentWithdrawal &>(*obj));
39594 }
39595 return true;
39596 case tonTransactionTypeSuggestedPostPayment::ID:
39597 if constexpr (AllowTag) {
39598 downcast_call_tag<tonTransactionTypeSuggestedPostPayment> type_tag;
39599 func(type_tag);
39600 } else {
39601 func(static_cast<tonTransactionTypeSuggestedPostPayment &>(*obj));
39602 }
39603 return true;
39604 case tonTransactionTypeGiftPurchaseOffer::ID:
39605 if constexpr (AllowTag) {
39606 downcast_call_tag<tonTransactionTypeGiftPurchaseOffer> type_tag;
39607 func(type_tag);
39608 } else {
39609 func(static_cast<tonTransactionTypeGiftPurchaseOffer &>(*obj));
39610 }
39611 return true;
39612 case tonTransactionTypeUpgradedGiftPurchase::ID:
39613 if constexpr (AllowTag) {
39614 downcast_call_tag<tonTransactionTypeUpgradedGiftPurchase> type_tag;
39615 func(type_tag);
39616 } else {
39617 func(static_cast<tonTransactionTypeUpgradedGiftPurchase &>(*obj));
39618 }
39619 return true;
39620 case tonTransactionTypeUpgradedGiftSale::ID:
39621 if constexpr (AllowTag) {
39622 downcast_call_tag<tonTransactionTypeUpgradedGiftSale> type_tag;
39623 func(type_tag);
39624 } else {
39625 func(static_cast<tonTransactionTypeUpgradedGiftSale &>(*obj));
39626 }
39627 return true;
39628 case tonTransactionTypeStakeDiceStake::ID:
39629 if constexpr (AllowTag) {
39630 downcast_call_tag<tonTransactionTypeStakeDiceStake> type_tag;
39631 func(type_tag);
39632 } else {
39633 func(static_cast<tonTransactionTypeStakeDiceStake &>(*obj));
39634 }
39635 return true;
39636 case tonTransactionTypeStakeDicePayout::ID:
39637 if constexpr (AllowTag) {
39638 downcast_call_tag<tonTransactionTypeStakeDicePayout> type_tag;
39639 func(type_tag);
39640 } else {
39641 func(static_cast<tonTransactionTypeStakeDicePayout &>(*obj));
39642 }
39643 return true;
39644 case tonTransactionTypeUnsupported::ID:
39645 if constexpr (AllowTag) {
39646 downcast_call_tag<tonTransactionTypeUnsupported> type_tag;
39647 func(type_tag);
39648 } else {
39649 func(static_cast<tonTransactionTypeUnsupported &>(*obj));
39650 }
39651 return true;
39652 default:
39653 return false;
39654 }
39655}

◆ downcast_call_impl() [191/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TopChatCategory obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39677 of file td_api.hpp.

39677 { //-V2008
39678 switch (constructor) {
39679 case topChatCategoryUsers::ID:
39680 if constexpr (AllowTag) {
39681 downcast_call_tag<topChatCategoryUsers> type_tag;
39682 func(type_tag);
39683 } else {
39684 func(static_cast<topChatCategoryUsers &>(*obj));
39685 }
39686 return true;
39687 case topChatCategoryBots::ID:
39688 if constexpr (AllowTag) {
39689 downcast_call_tag<topChatCategoryBots> type_tag;
39690 func(type_tag);
39691 } else {
39692 func(static_cast<topChatCategoryBots &>(*obj));
39693 }
39694 return true;
39695 case topChatCategoryGroups::ID:
39696 if constexpr (AllowTag) {
39697 downcast_call_tag<topChatCategoryGroups> type_tag;
39698 func(type_tag);
39699 } else {
39700 func(static_cast<topChatCategoryGroups &>(*obj));
39701 }
39702 return true;
39703 case topChatCategoryChannels::ID:
39704 if constexpr (AllowTag) {
39705 downcast_call_tag<topChatCategoryChannels> type_tag;
39706 func(type_tag);
39707 } else {
39708 func(static_cast<topChatCategoryChannels &>(*obj));
39709 }
39710 return true;
39711 case topChatCategoryInlineBots::ID:
39712 if constexpr (AllowTag) {
39713 downcast_call_tag<topChatCategoryInlineBots> type_tag;
39714 func(type_tag);
39715 } else {
39716 func(static_cast<topChatCategoryInlineBots &>(*obj));
39717 }
39718 return true;
39719 case topChatCategoryGuestBots::ID:
39720 if constexpr (AllowTag) {
39721 downcast_call_tag<topChatCategoryGuestBots> type_tag;
39722 func(type_tag);
39723 } else {
39724 func(static_cast<topChatCategoryGuestBots &>(*obj));
39725 }
39726 return true;
39727 case topChatCategoryWebAppBots::ID:
39728 if constexpr (AllowTag) {
39729 downcast_call_tag<topChatCategoryWebAppBots> type_tag;
39730 func(type_tag);
39731 } else {
39732 func(static_cast<topChatCategoryWebAppBots &>(*obj));
39733 }
39734 return true;
39735 case topChatCategoryCalls::ID:
39736 if constexpr (AllowTag) {
39737 downcast_call_tag<topChatCategoryCalls> type_tag;
39738 func(type_tag);
39739 } else {
39740 func(static_cast<topChatCategoryCalls &>(*obj));
39741 }
39742 return true;
39743 case topChatCategoryForwardChats::ID:
39744 if constexpr (AllowTag) {
39745 downcast_call_tag<topChatCategoryForwardChats> type_tag;
39746 func(type_tag);
39747 } else {
39748 func(static_cast<topChatCategoryForwardChats &>(*obj));
39749 }
39750 return true;
39751 default:
39752 return false;
39753 }
39754}

◆ downcast_call_impl() [192/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
TransactionDirection obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39776 of file td_api.hpp.

39776 { //-V2008
39777 switch (constructor) {
39778 case transactionDirectionIncoming::ID:
39779 if constexpr (AllowTag) {
39780 downcast_call_tag<transactionDirectionIncoming> type_tag;
39781 func(type_tag);
39782 } else {
39783 func(static_cast<transactionDirectionIncoming &>(*obj));
39784 }
39785 return true;
39786 case transactionDirectionOutgoing::ID:
39787 if constexpr (AllowTag) {
39788 downcast_call_tag<transactionDirectionOutgoing> type_tag;
39789 func(type_tag);
39790 } else {
39791 func(static_cast<transactionDirectionOutgoing &>(*obj));
39792 }
39793 return true;
39794 default:
39795 return false;
39796 }
39797}

◆ downcast_call_impl() [193/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
Update obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 39819 of file td_api.hpp.

39819 { //-V2008
39820 switch (constructor) {
39821 case updateAuthorizationState::ID:
39822 if constexpr (AllowTag) {
39823 downcast_call_tag<updateAuthorizationState> type_tag;
39824 func(type_tag);
39825 } else {
39826 func(static_cast<updateAuthorizationState &>(*obj));
39827 }
39828 return true;
39829 case updateNewMessage::ID:
39830 if constexpr (AllowTag) {
39831 downcast_call_tag<updateNewMessage> type_tag;
39832 func(type_tag);
39833 } else {
39834 func(static_cast<updateNewMessage &>(*obj));
39835 }
39836 return true;
39837 case updateMessageSendAcknowledged::ID:
39838 if constexpr (AllowTag) {
39839 downcast_call_tag<updateMessageSendAcknowledged> type_tag;
39840 func(type_tag);
39841 } else {
39842 func(static_cast<updateMessageSendAcknowledged &>(*obj));
39843 }
39844 return true;
39845 case updateMessageSendSucceeded::ID:
39846 if constexpr (AllowTag) {
39847 downcast_call_tag<updateMessageSendSucceeded> type_tag;
39848 func(type_tag);
39849 } else {
39850 func(static_cast<updateMessageSendSucceeded &>(*obj));
39851 }
39852 return true;
39853 case updateMessageSendFailed::ID:
39854 if constexpr (AllowTag) {
39855 downcast_call_tag<updateMessageSendFailed> type_tag;
39856 func(type_tag);
39857 } else {
39858 func(static_cast<updateMessageSendFailed &>(*obj));
39859 }
39860 return true;
39861 case updateMessageContent::ID:
39862 if constexpr (AllowTag) {
39863 downcast_call_tag<updateMessageContent> type_tag;
39864 func(type_tag);
39865 } else {
39866 func(static_cast<updateMessageContent &>(*obj));
39867 }
39868 return true;
39869 case updateMessageEdited::ID:
39870 if constexpr (AllowTag) {
39871 downcast_call_tag<updateMessageEdited> type_tag;
39872 func(type_tag);
39873 } else {
39874 func(static_cast<updateMessageEdited &>(*obj));
39875 }
39876 return true;
39877 case updateMessageIsPinned::ID:
39878 if constexpr (AllowTag) {
39879 downcast_call_tag<updateMessageIsPinned> type_tag;
39880 func(type_tag);
39881 } else {
39882 func(static_cast<updateMessageIsPinned &>(*obj));
39883 }
39884 return true;
39885 case updateMessageInteractionInfo::ID:
39886 if constexpr (AllowTag) {
39887 downcast_call_tag<updateMessageInteractionInfo> type_tag;
39888 func(type_tag);
39889 } else {
39890 func(static_cast<updateMessageInteractionInfo &>(*obj));
39891 }
39892 return true;
39893 case updateMessageContentOpened::ID:
39894 if constexpr (AllowTag) {
39895 downcast_call_tag<updateMessageContentOpened> type_tag;
39896 func(type_tag);
39897 } else {
39898 func(static_cast<updateMessageContentOpened &>(*obj));
39899 }
39900 return true;
39901 case updateMessageMentionRead::ID:
39902 if constexpr (AllowTag) {
39903 downcast_call_tag<updateMessageMentionRead> type_tag;
39904 func(type_tag);
39905 } else {
39906 func(static_cast<updateMessageMentionRead &>(*obj));
39907 }
39908 return true;
39909 case updateMessageUnreadReactions::ID:
39910 if constexpr (AllowTag) {
39911 downcast_call_tag<updateMessageUnreadReactions> type_tag;
39912 func(type_tag);
39913 } else {
39914 func(static_cast<updateMessageUnreadReactions &>(*obj));
39915 }
39916 return true;
39917 case updateMessageContainsUnreadPollVotes::ID:
39918 if constexpr (AllowTag) {
39919 downcast_call_tag<updateMessageContainsUnreadPollVotes> type_tag;
39920 func(type_tag);
39921 } else {
39922 func(static_cast<updateMessageContainsUnreadPollVotes &>(*obj));
39923 }
39924 return true;
39925 case updateMessageFactCheck::ID:
39926 if constexpr (AllowTag) {
39927 downcast_call_tag<updateMessageFactCheck> type_tag;
39928 func(type_tag);
39929 } else {
39930 func(static_cast<updateMessageFactCheck &>(*obj));
39931 }
39932 return true;
39933 case updateMessageSuggestedPostInfo::ID:
39934 if constexpr (AllowTag) {
39935 downcast_call_tag<updateMessageSuggestedPostInfo> type_tag;
39936 func(type_tag);
39937 } else {
39938 func(static_cast<updateMessageSuggestedPostInfo &>(*obj));
39939 }
39940 return true;
39941 case updateMessageLiveLocationViewed::ID:
39942 if constexpr (AllowTag) {
39943 downcast_call_tag<updateMessageLiveLocationViewed> type_tag;
39944 func(type_tag);
39945 } else {
39946 func(static_cast<updateMessageLiveLocationViewed &>(*obj));
39947 }
39948 return true;
39949 case updateVideoPublished::ID:
39950 if constexpr (AllowTag) {
39951 downcast_call_tag<updateVideoPublished> type_tag;
39952 func(type_tag);
39953 } else {
39954 func(static_cast<updateVideoPublished &>(*obj));
39955 }
39956 return true;
39957 case updateNewChat::ID:
39958 if constexpr (AllowTag) {
39959 downcast_call_tag<updateNewChat> type_tag;
39960 func(type_tag);
39961 } else {
39962 func(static_cast<updateNewChat &>(*obj));
39963 }
39964 return true;
39965 case updateChatTitle::ID:
39966 if constexpr (AllowTag) {
39967 downcast_call_tag<updateChatTitle> type_tag;
39968 func(type_tag);
39969 } else {
39970 func(static_cast<updateChatTitle &>(*obj));
39971 }
39972 return true;
39973 case updateChatPhoto::ID:
39974 if constexpr (AllowTag) {
39975 downcast_call_tag<updateChatPhoto> type_tag;
39976 func(type_tag);
39977 } else {
39978 func(static_cast<updateChatPhoto &>(*obj));
39979 }
39980 return true;
39981 case updateChatAccentColors::ID:
39982 if constexpr (AllowTag) {
39983 downcast_call_tag<updateChatAccentColors> type_tag;
39984 func(type_tag);
39985 } else {
39986 func(static_cast<updateChatAccentColors &>(*obj));
39987 }
39988 return true;
39989 case updateChatPermissions::ID:
39990 if constexpr (AllowTag) {
39991 downcast_call_tag<updateChatPermissions> type_tag;
39992 func(type_tag);
39993 } else {
39994 func(static_cast<updateChatPermissions &>(*obj));
39995 }
39996 return true;
39997 case updateChatLastMessage::ID:
39998 if constexpr (AllowTag) {
39999 downcast_call_tag<updateChatLastMessage> type_tag;
40000 func(type_tag);
40001 } else {
40002 func(static_cast<updateChatLastMessage &>(*obj));
40003 }
40004 return true;
40005 case updateChatPosition::ID:
40006 if constexpr (AllowTag) {
40007 downcast_call_tag<updateChatPosition> type_tag;
40008 func(type_tag);
40009 } else {
40010 func(static_cast<updateChatPosition &>(*obj));
40011 }
40012 return true;
40013 case updateChatAddedToList::ID:
40014 if constexpr (AllowTag) {
40015 downcast_call_tag<updateChatAddedToList> type_tag;
40016 func(type_tag);
40017 } else {
40018 func(static_cast<updateChatAddedToList &>(*obj));
40019 }
40020 return true;
40021 case updateChatRemovedFromList::ID:
40022 if constexpr (AllowTag) {
40023 downcast_call_tag<updateChatRemovedFromList> type_tag;
40024 func(type_tag);
40025 } else {
40026 func(static_cast<updateChatRemovedFromList &>(*obj));
40027 }
40028 return true;
40029 case updateChatReadInbox::ID:
40030 if constexpr (AllowTag) {
40031 downcast_call_tag<updateChatReadInbox> type_tag;
40032 func(type_tag);
40033 } else {
40034 func(static_cast<updateChatReadInbox &>(*obj));
40035 }
40036 return true;
40037 case updateChatReadOutbox::ID:
40038 if constexpr (AllowTag) {
40039 downcast_call_tag<updateChatReadOutbox> type_tag;
40040 func(type_tag);
40041 } else {
40042 func(static_cast<updateChatReadOutbox &>(*obj));
40043 }
40044 return true;
40045 case updateChatActionBar::ID:
40046 if constexpr (AllowTag) {
40047 downcast_call_tag<updateChatActionBar> type_tag;
40048 func(type_tag);
40049 } else {
40050 func(static_cast<updateChatActionBar &>(*obj));
40051 }
40052 return true;
40053 case updateChatBusinessBotManageBar::ID:
40054 if constexpr (AllowTag) {
40055 downcast_call_tag<updateChatBusinessBotManageBar> type_tag;
40056 func(type_tag);
40057 } else {
40058 func(static_cast<updateChatBusinessBotManageBar &>(*obj));
40059 }
40060 return true;
40061 case updateChatAvailableReactions::ID:
40062 if constexpr (AllowTag) {
40063 downcast_call_tag<updateChatAvailableReactions> type_tag;
40064 func(type_tag);
40065 } else {
40066 func(static_cast<updateChatAvailableReactions &>(*obj));
40067 }
40068 return true;
40069 case updateChatDraftMessage::ID:
40070 if constexpr (AllowTag) {
40071 downcast_call_tag<updateChatDraftMessage> type_tag;
40072 func(type_tag);
40073 } else {
40074 func(static_cast<updateChatDraftMessage &>(*obj));
40075 }
40076 return true;
40077 case updateChatEmojiStatus::ID:
40078 if constexpr (AllowTag) {
40079 downcast_call_tag<updateChatEmojiStatus> type_tag;
40080 func(type_tag);
40081 } else {
40082 func(static_cast<updateChatEmojiStatus &>(*obj));
40083 }
40084 return true;
40085 case updateChatMessageSender::ID:
40086 if constexpr (AllowTag) {
40087 downcast_call_tag<updateChatMessageSender> type_tag;
40088 func(type_tag);
40089 } else {
40090 func(static_cast<updateChatMessageSender &>(*obj));
40091 }
40092 return true;
40093 case updateChatMessageAutoDeleteTime::ID:
40094 if constexpr (AllowTag) {
40095 downcast_call_tag<updateChatMessageAutoDeleteTime> type_tag;
40096 func(type_tag);
40097 } else {
40098 func(static_cast<updateChatMessageAutoDeleteTime &>(*obj));
40099 }
40100 return true;
40101 case updateChatNotificationSettings::ID:
40102 if constexpr (AllowTag) {
40103 downcast_call_tag<updateChatNotificationSettings> type_tag;
40104 func(type_tag);
40105 } else {
40106 func(static_cast<updateChatNotificationSettings &>(*obj));
40107 }
40108 return true;
40109 case updateChatPendingJoinRequests::ID:
40110 if constexpr (AllowTag) {
40111 downcast_call_tag<updateChatPendingJoinRequests> type_tag;
40112 func(type_tag);
40113 } else {
40114 func(static_cast<updateChatPendingJoinRequests &>(*obj));
40115 }
40116 return true;
40117 case updateChatReplyMarkup::ID:
40118 if constexpr (AllowTag) {
40119 downcast_call_tag<updateChatReplyMarkup> type_tag;
40120 func(type_tag);
40121 } else {
40122 func(static_cast<updateChatReplyMarkup &>(*obj));
40123 }
40124 return true;
40125 case updateChatBackground::ID:
40126 if constexpr (AllowTag) {
40127 downcast_call_tag<updateChatBackground> type_tag;
40128 func(type_tag);
40129 } else {
40130 func(static_cast<updateChatBackground &>(*obj));
40131 }
40132 return true;
40133 case updateChatTheme::ID:
40134 if constexpr (AllowTag) {
40135 downcast_call_tag<updateChatTheme> type_tag;
40136 func(type_tag);
40137 } else {
40138 func(static_cast<updateChatTheme &>(*obj));
40139 }
40140 return true;
40141 case updateChatUnreadMentionCount::ID:
40142 if constexpr (AllowTag) {
40143 downcast_call_tag<updateChatUnreadMentionCount> type_tag;
40144 func(type_tag);
40145 } else {
40146 func(static_cast<updateChatUnreadMentionCount &>(*obj));
40147 }
40148 return true;
40149 case updateChatUnreadReactionCount::ID:
40150 if constexpr (AllowTag) {
40151 downcast_call_tag<updateChatUnreadReactionCount> type_tag;
40152 func(type_tag);
40153 } else {
40154 func(static_cast<updateChatUnreadReactionCount &>(*obj));
40155 }
40156 return true;
40157 case updateChatUnreadPollVoteCount::ID:
40158 if constexpr (AllowTag) {
40159 downcast_call_tag<updateChatUnreadPollVoteCount> type_tag;
40160 func(type_tag);
40161 } else {
40162 func(static_cast<updateChatUnreadPollVoteCount &>(*obj));
40163 }
40164 return true;
40165 case updateChatVideoChat::ID:
40166 if constexpr (AllowTag) {
40167 downcast_call_tag<updateChatVideoChat> type_tag;
40168 func(type_tag);
40169 } else {
40170 func(static_cast<updateChatVideoChat &>(*obj));
40171 }
40172 return true;
40173 case updateChatDefaultDisableNotification::ID:
40174 if constexpr (AllowTag) {
40175 downcast_call_tag<updateChatDefaultDisableNotification> type_tag;
40176 func(type_tag);
40177 } else {
40178 func(static_cast<updateChatDefaultDisableNotification &>(*obj));
40179 }
40180 return true;
40181 case updateChatHasProtectedContent::ID:
40182 if constexpr (AllowTag) {
40183 downcast_call_tag<updateChatHasProtectedContent> type_tag;
40184 func(type_tag);
40185 } else {
40186 func(static_cast<updateChatHasProtectedContent &>(*obj));
40187 }
40188 return true;
40189 case updateChatIsTranslatable::ID:
40190 if constexpr (AllowTag) {
40191 downcast_call_tag<updateChatIsTranslatable> type_tag;
40192 func(type_tag);
40193 } else {
40194 func(static_cast<updateChatIsTranslatable &>(*obj));
40195 }
40196 return true;
40197 case updateChatIsMarkedAsUnread::ID:
40198 if constexpr (AllowTag) {
40199 downcast_call_tag<updateChatIsMarkedAsUnread> type_tag;
40200 func(type_tag);
40201 } else {
40202 func(static_cast<updateChatIsMarkedAsUnread &>(*obj));
40203 }
40204 return true;
40205 case updateChatViewAsTopics::ID:
40206 if constexpr (AllowTag) {
40207 downcast_call_tag<updateChatViewAsTopics> type_tag;
40208 func(type_tag);
40209 } else {
40210 func(static_cast<updateChatViewAsTopics &>(*obj));
40211 }
40212 return true;
40213 case updateChatBlockList::ID:
40214 if constexpr (AllowTag) {
40215 downcast_call_tag<updateChatBlockList> type_tag;
40216 func(type_tag);
40217 } else {
40218 func(static_cast<updateChatBlockList &>(*obj));
40219 }
40220 return true;
40221 case updateChatHasScheduledMessages::ID:
40222 if constexpr (AllowTag) {
40223 downcast_call_tag<updateChatHasScheduledMessages> type_tag;
40224 func(type_tag);
40225 } else {
40226 func(static_cast<updateChatHasScheduledMessages &>(*obj));
40227 }
40228 return true;
40229 case updateChatFolders::ID:
40230 if constexpr (AllowTag) {
40231 downcast_call_tag<updateChatFolders> type_tag;
40232 func(type_tag);
40233 } else {
40234 func(static_cast<updateChatFolders &>(*obj));
40235 }
40236 return true;
40237 case updateChatOnlineMemberCount::ID:
40238 if constexpr (AllowTag) {
40239 downcast_call_tag<updateChatOnlineMemberCount> type_tag;
40240 func(type_tag);
40241 } else {
40242 func(static_cast<updateChatOnlineMemberCount &>(*obj));
40243 }
40244 return true;
40245 case updateSavedMessagesTopic::ID:
40246 if constexpr (AllowTag) {
40247 downcast_call_tag<updateSavedMessagesTopic> type_tag;
40248 func(type_tag);
40249 } else {
40250 func(static_cast<updateSavedMessagesTopic &>(*obj));
40251 }
40252 return true;
40253 case updateSavedMessagesTopicCount::ID:
40254 if constexpr (AllowTag) {
40255 downcast_call_tag<updateSavedMessagesTopicCount> type_tag;
40256 func(type_tag);
40257 } else {
40258 func(static_cast<updateSavedMessagesTopicCount &>(*obj));
40259 }
40260 return true;
40261 case updateDirectMessagesChatTopic::ID:
40262 if constexpr (AllowTag) {
40263 downcast_call_tag<updateDirectMessagesChatTopic> type_tag;
40264 func(type_tag);
40265 } else {
40266 func(static_cast<updateDirectMessagesChatTopic &>(*obj));
40267 }
40268 return true;
40269 case updateTopicMessageCount::ID:
40270 if constexpr (AllowTag) {
40271 downcast_call_tag<updateTopicMessageCount> type_tag;
40272 func(type_tag);
40273 } else {
40274 func(static_cast<updateTopicMessageCount &>(*obj));
40275 }
40276 return true;
40277 case updateQuickReplyShortcut::ID:
40278 if constexpr (AllowTag) {
40279 downcast_call_tag<updateQuickReplyShortcut> type_tag;
40280 func(type_tag);
40281 } else {
40282 func(static_cast<updateQuickReplyShortcut &>(*obj));
40283 }
40284 return true;
40285 case updateQuickReplyShortcutDeleted::ID:
40286 if constexpr (AllowTag) {
40287 downcast_call_tag<updateQuickReplyShortcutDeleted> type_tag;
40288 func(type_tag);
40289 } else {
40290 func(static_cast<updateQuickReplyShortcutDeleted &>(*obj));
40291 }
40292 return true;
40293 case updateQuickReplyShortcuts::ID:
40294 if constexpr (AllowTag) {
40295 downcast_call_tag<updateQuickReplyShortcuts> type_tag;
40296 func(type_tag);
40297 } else {
40298 func(static_cast<updateQuickReplyShortcuts &>(*obj));
40299 }
40300 return true;
40301 case updateQuickReplyShortcutMessages::ID:
40302 if constexpr (AllowTag) {
40303 downcast_call_tag<updateQuickReplyShortcutMessages> type_tag;
40304 func(type_tag);
40305 } else {
40306 func(static_cast<updateQuickReplyShortcutMessages &>(*obj));
40307 }
40308 return true;
40309 case updateForumTopicInfo::ID:
40310 if constexpr (AllowTag) {
40311 downcast_call_tag<updateForumTopicInfo> type_tag;
40312 func(type_tag);
40313 } else {
40314 func(static_cast<updateForumTopicInfo &>(*obj));
40315 }
40316 return true;
40317 case updateForumTopic::ID:
40318 if constexpr (AllowTag) {
40319 downcast_call_tag<updateForumTopic> type_tag;
40320 func(type_tag);
40321 } else {
40322 func(static_cast<updateForumTopic &>(*obj));
40323 }
40324 return true;
40325 case updateScopeNotificationSettings::ID:
40326 if constexpr (AllowTag) {
40327 downcast_call_tag<updateScopeNotificationSettings> type_tag;
40328 func(type_tag);
40329 } else {
40330 func(static_cast<updateScopeNotificationSettings &>(*obj));
40331 }
40332 return true;
40333 case updateReactionNotificationSettings::ID:
40334 if constexpr (AllowTag) {
40335 downcast_call_tag<updateReactionNotificationSettings> type_tag;
40336 func(type_tag);
40337 } else {
40338 func(static_cast<updateReactionNotificationSettings &>(*obj));
40339 }
40340 return true;
40341 case updateNotification::ID:
40342 if constexpr (AllowTag) {
40343 downcast_call_tag<updateNotification> type_tag;
40344 func(type_tag);
40345 } else {
40346 func(static_cast<updateNotification &>(*obj));
40347 }
40348 return true;
40349 case updateNotificationGroup::ID:
40350 if constexpr (AllowTag) {
40351 downcast_call_tag<updateNotificationGroup> type_tag;
40352 func(type_tag);
40353 } else {
40354 func(static_cast<updateNotificationGroup &>(*obj));
40355 }
40356 return true;
40357 case updateActiveNotifications::ID:
40358 if constexpr (AllowTag) {
40359 downcast_call_tag<updateActiveNotifications> type_tag;
40360 func(type_tag);
40361 } else {
40362 func(static_cast<updateActiveNotifications &>(*obj));
40363 }
40364 return true;
40365 case updateHavePendingNotifications::ID:
40366 if constexpr (AllowTag) {
40367 downcast_call_tag<updateHavePendingNotifications> type_tag;
40368 func(type_tag);
40369 } else {
40370 func(static_cast<updateHavePendingNotifications &>(*obj));
40371 }
40372 return true;
40373 case updateDeleteMessages::ID:
40374 if constexpr (AllowTag) {
40375 downcast_call_tag<updateDeleteMessages> type_tag;
40376 func(type_tag);
40377 } else {
40378 func(static_cast<updateDeleteMessages &>(*obj));
40379 }
40380 return true;
40381 case updateChatAction::ID:
40382 if constexpr (AllowTag) {
40383 downcast_call_tag<updateChatAction> type_tag;
40384 func(type_tag);
40385 } else {
40386 func(static_cast<updateChatAction &>(*obj));
40387 }
40388 return true;
40389 case updatePendingTextMessage::ID:
40390 if constexpr (AllowTag) {
40391 downcast_call_tag<updatePendingTextMessage> type_tag;
40392 func(type_tag);
40393 } else {
40394 func(static_cast<updatePendingTextMessage &>(*obj));
40395 }
40396 return true;
40397 case updateUserStatus::ID:
40398 if constexpr (AllowTag) {
40399 downcast_call_tag<updateUserStatus> type_tag;
40400 func(type_tag);
40401 } else {
40402 func(static_cast<updateUserStatus &>(*obj));
40403 }
40404 return true;
40405 case updateUser::ID:
40406 if constexpr (AllowTag) {
40407 downcast_call_tag<updateUser> type_tag;
40408 func(type_tag);
40409 } else {
40410 func(static_cast<updateUser &>(*obj));
40411 }
40412 return true;
40413 case updateBasicGroup::ID:
40414 if constexpr (AllowTag) {
40415 downcast_call_tag<updateBasicGroup> type_tag;
40416 func(type_tag);
40417 } else {
40418 func(static_cast<updateBasicGroup &>(*obj));
40419 }
40420 return true;
40421 case updateSupergroup::ID:
40422 if constexpr (AllowTag) {
40423 downcast_call_tag<updateSupergroup> type_tag;
40424 func(type_tag);
40425 } else {
40426 func(static_cast<updateSupergroup &>(*obj));
40427 }
40428 return true;
40429 case updateSecretChat::ID:
40430 if constexpr (AllowTag) {
40431 downcast_call_tag<updateSecretChat> type_tag;
40432 func(type_tag);
40433 } else {
40434 func(static_cast<updateSecretChat &>(*obj));
40435 }
40436 return true;
40437 case updateUserFullInfo::ID:
40438 if constexpr (AllowTag) {
40439 downcast_call_tag<updateUserFullInfo> type_tag;
40440 func(type_tag);
40441 } else {
40442 func(static_cast<updateUserFullInfo &>(*obj));
40443 }
40444 return true;
40445 case updateBasicGroupFullInfo::ID:
40446 if constexpr (AllowTag) {
40447 downcast_call_tag<updateBasicGroupFullInfo> type_tag;
40448 func(type_tag);
40449 } else {
40450 func(static_cast<updateBasicGroupFullInfo &>(*obj));
40451 }
40452 return true;
40453 case updateSupergroupFullInfo::ID:
40454 if constexpr (AllowTag) {
40455 downcast_call_tag<updateSupergroupFullInfo> type_tag;
40456 func(type_tag);
40457 } else {
40458 func(static_cast<updateSupergroupFullInfo &>(*obj));
40459 }
40460 return true;
40461 case updateServiceNotification::ID:
40462 if constexpr (AllowTag) {
40463 downcast_call_tag<updateServiceNotification> type_tag;
40464 func(type_tag);
40465 } else {
40466 func(static_cast<updateServiceNotification &>(*obj));
40467 }
40468 return true;
40469 case updateNewOauthRequest::ID:
40470 if constexpr (AllowTag) {
40471 downcast_call_tag<updateNewOauthRequest> type_tag;
40472 func(type_tag);
40473 } else {
40474 func(static_cast<updateNewOauthRequest &>(*obj));
40475 }
40476 return true;
40477 case updateFile::ID:
40478 if constexpr (AllowTag) {
40479 downcast_call_tag<updateFile> type_tag;
40480 func(type_tag);
40481 } else {
40482 func(static_cast<updateFile &>(*obj));
40483 }
40484 return true;
40485 case updateFileGenerationStart::ID:
40486 if constexpr (AllowTag) {
40487 downcast_call_tag<updateFileGenerationStart> type_tag;
40488 func(type_tag);
40489 } else {
40490 func(static_cast<updateFileGenerationStart &>(*obj));
40491 }
40492 return true;
40493 case updateFileGenerationStop::ID:
40494 if constexpr (AllowTag) {
40495 downcast_call_tag<updateFileGenerationStop> type_tag;
40496 func(type_tag);
40497 } else {
40498 func(static_cast<updateFileGenerationStop &>(*obj));
40499 }
40500 return true;
40501 case updateFileDownloads::ID:
40502 if constexpr (AllowTag) {
40503 downcast_call_tag<updateFileDownloads> type_tag;
40504 func(type_tag);
40505 } else {
40506 func(static_cast<updateFileDownloads &>(*obj));
40507 }
40508 return true;
40509 case updateFileAddedToDownloads::ID:
40510 if constexpr (AllowTag) {
40511 downcast_call_tag<updateFileAddedToDownloads> type_tag;
40512 func(type_tag);
40513 } else {
40514 func(static_cast<updateFileAddedToDownloads &>(*obj));
40515 }
40516 return true;
40517 case updateFileDownload::ID:
40518 if constexpr (AllowTag) {
40519 downcast_call_tag<updateFileDownload> type_tag;
40520 func(type_tag);
40521 } else {
40522 func(static_cast<updateFileDownload &>(*obj));
40523 }
40524 return true;
40525 case updateFileRemovedFromDownloads::ID:
40526 if constexpr (AllowTag) {
40527 downcast_call_tag<updateFileRemovedFromDownloads> type_tag;
40528 func(type_tag);
40529 } else {
40530 func(static_cast<updateFileRemovedFromDownloads &>(*obj));
40531 }
40532 return true;
40533 case updateApplicationVerificationRequired::ID:
40534 if constexpr (AllowTag) {
40535 downcast_call_tag<updateApplicationVerificationRequired> type_tag;
40536 func(type_tag);
40537 } else {
40538 func(static_cast<updateApplicationVerificationRequired &>(*obj));
40539 }
40540 return true;
40541 case updateApplicationRecaptchaVerificationRequired::ID:
40542 if constexpr (AllowTag) {
40543 downcast_call_tag<updateApplicationRecaptchaVerificationRequired> type_tag;
40544 func(type_tag);
40545 } else {
40546 func(static_cast<updateApplicationRecaptchaVerificationRequired &>(*obj));
40547 }
40548 return true;
40549 case updateCall::ID:
40550 if constexpr (AllowTag) {
40551 downcast_call_tag<updateCall> type_tag;
40552 func(type_tag);
40553 } else {
40554 func(static_cast<updateCall &>(*obj));
40555 }
40556 return true;
40557 case updateGroupCall::ID:
40558 if constexpr (AllowTag) {
40559 downcast_call_tag<updateGroupCall> type_tag;
40560 func(type_tag);
40561 } else {
40562 func(static_cast<updateGroupCall &>(*obj));
40563 }
40564 return true;
40565 case updateGroupCallParticipant::ID:
40566 if constexpr (AllowTag) {
40567 downcast_call_tag<updateGroupCallParticipant> type_tag;
40568 func(type_tag);
40569 } else {
40570 func(static_cast<updateGroupCallParticipant &>(*obj));
40571 }
40572 return true;
40573 case updateGroupCallParticipants::ID:
40574 if constexpr (AllowTag) {
40575 downcast_call_tag<updateGroupCallParticipants> type_tag;
40576 func(type_tag);
40577 } else {
40578 func(static_cast<updateGroupCallParticipants &>(*obj));
40579 }
40580 return true;
40581 case updateGroupCallVerificationState::ID:
40582 if constexpr (AllowTag) {
40583 downcast_call_tag<updateGroupCallVerificationState> type_tag;
40584 func(type_tag);
40585 } else {
40586 func(static_cast<updateGroupCallVerificationState &>(*obj));
40587 }
40588 return true;
40589 case updateNewGroupCallMessage::ID:
40590 if constexpr (AllowTag) {
40591 downcast_call_tag<updateNewGroupCallMessage> type_tag;
40592 func(type_tag);
40593 } else {
40594 func(static_cast<updateNewGroupCallMessage &>(*obj));
40595 }
40596 return true;
40597 case updateNewGroupCallPaidReaction::ID:
40598 if constexpr (AllowTag) {
40599 downcast_call_tag<updateNewGroupCallPaidReaction> type_tag;
40600 func(type_tag);
40601 } else {
40602 func(static_cast<updateNewGroupCallPaidReaction &>(*obj));
40603 }
40604 return true;
40605 case updateGroupCallMessageSendFailed::ID:
40606 if constexpr (AllowTag) {
40607 downcast_call_tag<updateGroupCallMessageSendFailed> type_tag;
40608 func(type_tag);
40609 } else {
40610 func(static_cast<updateGroupCallMessageSendFailed &>(*obj));
40611 }
40612 return true;
40613 case updateGroupCallMessagesDeleted::ID:
40614 if constexpr (AllowTag) {
40615 downcast_call_tag<updateGroupCallMessagesDeleted> type_tag;
40616 func(type_tag);
40617 } else {
40618 func(static_cast<updateGroupCallMessagesDeleted &>(*obj));
40619 }
40620 return true;
40621 case updateLiveStoryTopDonors::ID:
40622 if constexpr (AllowTag) {
40623 downcast_call_tag<updateLiveStoryTopDonors> type_tag;
40624 func(type_tag);
40625 } else {
40626 func(static_cast<updateLiveStoryTopDonors &>(*obj));
40627 }
40628 return true;
40629 case updateNewCallSignalingData::ID:
40630 if constexpr (AllowTag) {
40631 downcast_call_tag<updateNewCallSignalingData> type_tag;
40632 func(type_tag);
40633 } else {
40634 func(static_cast<updateNewCallSignalingData &>(*obj));
40635 }
40636 return true;
40637 case updateGiftAuctionState::ID:
40638 if constexpr (AllowTag) {
40639 downcast_call_tag<updateGiftAuctionState> type_tag;
40640 func(type_tag);
40641 } else {
40642 func(static_cast<updateGiftAuctionState &>(*obj));
40643 }
40644 return true;
40645 case updateActiveGiftAuctions::ID:
40646 if constexpr (AllowTag) {
40647 downcast_call_tag<updateActiveGiftAuctions> type_tag;
40648 func(type_tag);
40649 } else {
40650 func(static_cast<updateActiveGiftAuctions &>(*obj));
40651 }
40652 return true;
40653 case updateUserPrivacySettingRules::ID:
40654 if constexpr (AllowTag) {
40655 downcast_call_tag<updateUserPrivacySettingRules> type_tag;
40656 func(type_tag);
40657 } else {
40658 func(static_cast<updateUserPrivacySettingRules &>(*obj));
40659 }
40660 return true;
40661 case updateUnreadMessageCount::ID:
40662 if constexpr (AllowTag) {
40663 downcast_call_tag<updateUnreadMessageCount> type_tag;
40664 func(type_tag);
40665 } else {
40666 func(static_cast<updateUnreadMessageCount &>(*obj));
40667 }
40668 return true;
40669 case updateUnreadChatCount::ID:
40670 if constexpr (AllowTag) {
40671 downcast_call_tag<updateUnreadChatCount> type_tag;
40672 func(type_tag);
40673 } else {
40674 func(static_cast<updateUnreadChatCount &>(*obj));
40675 }
40676 return true;
40677 case updateStory::ID:
40678 if constexpr (AllowTag) {
40679 downcast_call_tag<updateStory> type_tag;
40680 func(type_tag);
40681 } else {
40682 func(static_cast<updateStory &>(*obj));
40683 }
40684 return true;
40685 case updateStoryDeleted::ID:
40686 if constexpr (AllowTag) {
40687 downcast_call_tag<updateStoryDeleted> type_tag;
40688 func(type_tag);
40689 } else {
40690 func(static_cast<updateStoryDeleted &>(*obj));
40691 }
40692 return true;
40693 case updateStoryPostSucceeded::ID:
40694 if constexpr (AllowTag) {
40695 downcast_call_tag<updateStoryPostSucceeded> type_tag;
40696 func(type_tag);
40697 } else {
40698 func(static_cast<updateStoryPostSucceeded &>(*obj));
40699 }
40700 return true;
40701 case updateStoryPostFailed::ID:
40702 if constexpr (AllowTag) {
40703 downcast_call_tag<updateStoryPostFailed> type_tag;
40704 func(type_tag);
40705 } else {
40706 func(static_cast<updateStoryPostFailed &>(*obj));
40707 }
40708 return true;
40709 case updateChatActiveStories::ID:
40710 if constexpr (AllowTag) {
40711 downcast_call_tag<updateChatActiveStories> type_tag;
40712 func(type_tag);
40713 } else {
40714 func(static_cast<updateChatActiveStories &>(*obj));
40715 }
40716 return true;
40717 case updateStoryListChatCount::ID:
40718 if constexpr (AllowTag) {
40719 downcast_call_tag<updateStoryListChatCount> type_tag;
40720 func(type_tag);
40721 } else {
40722 func(static_cast<updateStoryListChatCount &>(*obj));
40723 }
40724 return true;
40725 case updateStoryStealthMode::ID:
40726 if constexpr (AllowTag) {
40727 downcast_call_tag<updateStoryStealthMode> type_tag;
40728 func(type_tag);
40729 } else {
40730 func(static_cast<updateStoryStealthMode &>(*obj));
40731 }
40732 return true;
40733 case updateTrustedMiniAppBots::ID:
40734 if constexpr (AllowTag) {
40735 downcast_call_tag<updateTrustedMiniAppBots> type_tag;
40736 func(type_tag);
40737 } else {
40738 func(static_cast<updateTrustedMiniAppBots &>(*obj));
40739 }
40740 return true;
40741 case updateOption::ID:
40742 if constexpr (AllowTag) {
40743 downcast_call_tag<updateOption> type_tag;
40744 func(type_tag);
40745 } else {
40746 func(static_cast<updateOption &>(*obj));
40747 }
40748 return true;
40749 case updateStickerSet::ID:
40750 if constexpr (AllowTag) {
40751 downcast_call_tag<updateStickerSet> type_tag;
40752 func(type_tag);
40753 } else {
40754 func(static_cast<updateStickerSet &>(*obj));
40755 }
40756 return true;
40757 case updateInstalledStickerSets::ID:
40758 if constexpr (AllowTag) {
40759 downcast_call_tag<updateInstalledStickerSets> type_tag;
40760 func(type_tag);
40761 } else {
40762 func(static_cast<updateInstalledStickerSets &>(*obj));
40763 }
40764 return true;
40765 case updateTrendingStickerSets::ID:
40766 if constexpr (AllowTag) {
40767 downcast_call_tag<updateTrendingStickerSets> type_tag;
40768 func(type_tag);
40769 } else {
40770 func(static_cast<updateTrendingStickerSets &>(*obj));
40771 }
40772 return true;
40773 case updateRecentStickers::ID:
40774 if constexpr (AllowTag) {
40775 downcast_call_tag<updateRecentStickers> type_tag;
40776 func(type_tag);
40777 } else {
40778 func(static_cast<updateRecentStickers &>(*obj));
40779 }
40780 return true;
40781 case updateFavoriteStickers::ID:
40782 if constexpr (AllowTag) {
40783 downcast_call_tag<updateFavoriteStickers> type_tag;
40784 func(type_tag);
40785 } else {
40786 func(static_cast<updateFavoriteStickers &>(*obj));
40787 }
40788 return true;
40789 case updateSavedAnimations::ID:
40790 if constexpr (AllowTag) {
40791 downcast_call_tag<updateSavedAnimations> type_tag;
40792 func(type_tag);
40793 } else {
40794 func(static_cast<updateSavedAnimations &>(*obj));
40795 }
40796 return true;
40797 case updateSavedNotificationSounds::ID:
40798 if constexpr (AllowTag) {
40799 downcast_call_tag<updateSavedNotificationSounds> type_tag;
40800 func(type_tag);
40801 } else {
40802 func(static_cast<updateSavedNotificationSounds &>(*obj));
40803 }
40804 return true;
40805 case updateDefaultBackground::ID:
40806 if constexpr (AllowTag) {
40807 downcast_call_tag<updateDefaultBackground> type_tag;
40808 func(type_tag);
40809 } else {
40810 func(static_cast<updateDefaultBackground &>(*obj));
40811 }
40812 return true;
40813 case updateEmojiChatThemes::ID:
40814 if constexpr (AllowTag) {
40815 downcast_call_tag<updateEmojiChatThemes> type_tag;
40816 func(type_tag);
40817 } else {
40818 func(static_cast<updateEmojiChatThemes &>(*obj));
40819 }
40820 return true;
40821 case updateAccentColors::ID:
40822 if constexpr (AllowTag) {
40823 downcast_call_tag<updateAccentColors> type_tag;
40824 func(type_tag);
40825 } else {
40826 func(static_cast<updateAccentColors &>(*obj));
40827 }
40828 return true;
40829 case updateProfileAccentColors::ID:
40830 if constexpr (AllowTag) {
40831 downcast_call_tag<updateProfileAccentColors> type_tag;
40832 func(type_tag);
40833 } else {
40834 func(static_cast<updateProfileAccentColors &>(*obj));
40835 }
40836 return true;
40837 case updateLanguagePackStrings::ID:
40838 if constexpr (AllowTag) {
40839 downcast_call_tag<updateLanguagePackStrings> type_tag;
40840 func(type_tag);
40841 } else {
40842 func(static_cast<updateLanguagePackStrings &>(*obj));
40843 }
40844 return true;
40845 case updateConnectionState::ID:
40846 if constexpr (AllowTag) {
40847 downcast_call_tag<updateConnectionState> type_tag;
40848 func(type_tag);
40849 } else {
40850 func(static_cast<updateConnectionState &>(*obj));
40851 }
40852 return true;
40853 case updateFreezeState::ID:
40854 if constexpr (AllowTag) {
40855 downcast_call_tag<updateFreezeState> type_tag;
40856 func(type_tag);
40857 } else {
40858 func(static_cast<updateFreezeState &>(*obj));
40859 }
40860 return true;
40861 case updateAgeVerificationParameters::ID:
40862 if constexpr (AllowTag) {
40863 downcast_call_tag<updateAgeVerificationParameters> type_tag;
40864 func(type_tag);
40865 } else {
40866 func(static_cast<updateAgeVerificationParameters &>(*obj));
40867 }
40868 return true;
40869 case updateTermsOfService::ID:
40870 if constexpr (AllowTag) {
40871 downcast_call_tag<updateTermsOfService> type_tag;
40872 func(type_tag);
40873 } else {
40874 func(static_cast<updateTermsOfService &>(*obj));
40875 }
40876 return true;
40877 case updateUnconfirmedSession::ID:
40878 if constexpr (AllowTag) {
40879 downcast_call_tag<updateUnconfirmedSession> type_tag;
40880 func(type_tag);
40881 } else {
40882 func(static_cast<updateUnconfirmedSession &>(*obj));
40883 }
40884 return true;
40885 case updateAttachmentMenuBots::ID:
40886 if constexpr (AllowTag) {
40887 downcast_call_tag<updateAttachmentMenuBots> type_tag;
40888 func(type_tag);
40889 } else {
40890 func(static_cast<updateAttachmentMenuBots &>(*obj));
40891 }
40892 return true;
40893 case updateWebAppMessageSent::ID:
40894 if constexpr (AllowTag) {
40895 downcast_call_tag<updateWebAppMessageSent> type_tag;
40896 func(type_tag);
40897 } else {
40898 func(static_cast<updateWebAppMessageSent &>(*obj));
40899 }
40900 return true;
40901 case updateActiveEmojiReactions::ID:
40902 if constexpr (AllowTag) {
40903 downcast_call_tag<updateActiveEmojiReactions> type_tag;
40904 func(type_tag);
40905 } else {
40906 func(static_cast<updateActiveEmojiReactions &>(*obj));
40907 }
40908 return true;
40909 case updateAvailableMessageEffects::ID:
40910 if constexpr (AllowTag) {
40911 downcast_call_tag<updateAvailableMessageEffects> type_tag;
40912 func(type_tag);
40913 } else {
40914 func(static_cast<updateAvailableMessageEffects &>(*obj));
40915 }
40916 return true;
40917 case updateDefaultReactionType::ID:
40918 if constexpr (AllowTag) {
40919 downcast_call_tag<updateDefaultReactionType> type_tag;
40920 func(type_tag);
40921 } else {
40922 func(static_cast<updateDefaultReactionType &>(*obj));
40923 }
40924 return true;
40925 case updateDefaultPaidReactionType::ID:
40926 if constexpr (AllowTag) {
40927 downcast_call_tag<updateDefaultPaidReactionType> type_tag;
40928 func(type_tag);
40929 } else {
40930 func(static_cast<updateDefaultPaidReactionType &>(*obj));
40931 }
40932 return true;
40933 case updateSavedMessagesTags::ID:
40934 if constexpr (AllowTag) {
40935 downcast_call_tag<updateSavedMessagesTags> type_tag;
40936 func(type_tag);
40937 } else {
40938 func(static_cast<updateSavedMessagesTags &>(*obj));
40939 }
40940 return true;
40941 case updateActiveLiveLocationMessages::ID:
40942 if constexpr (AllowTag) {
40943 downcast_call_tag<updateActiveLiveLocationMessages> type_tag;
40944 func(type_tag);
40945 } else {
40946 func(static_cast<updateActiveLiveLocationMessages &>(*obj));
40947 }
40948 return true;
40949 case updateOwnedStarCount::ID:
40950 if constexpr (AllowTag) {
40951 downcast_call_tag<updateOwnedStarCount> type_tag;
40952 func(type_tag);
40953 } else {
40954 func(static_cast<updateOwnedStarCount &>(*obj));
40955 }
40956 return true;
40957 case updateOwnedTonCount::ID:
40958 if constexpr (AllowTag) {
40959 downcast_call_tag<updateOwnedTonCount> type_tag;
40960 func(type_tag);
40961 } else {
40962 func(static_cast<updateOwnedTonCount &>(*obj));
40963 }
40964 return true;
40965 case updateChatRevenueAmount::ID:
40966 if constexpr (AllowTag) {
40967 downcast_call_tag<updateChatRevenueAmount> type_tag;
40968 func(type_tag);
40969 } else {
40970 func(static_cast<updateChatRevenueAmount &>(*obj));
40971 }
40972 return true;
40973 case updateStarRevenueStatus::ID:
40974 if constexpr (AllowTag) {
40975 downcast_call_tag<updateStarRevenueStatus> type_tag;
40976 func(type_tag);
40977 } else {
40978 func(static_cast<updateStarRevenueStatus &>(*obj));
40979 }
40980 return true;
40981 case updateTonRevenueStatus::ID:
40982 if constexpr (AllowTag) {
40983 downcast_call_tag<updateTonRevenueStatus> type_tag;
40984 func(type_tag);
40985 } else {
40986 func(static_cast<updateTonRevenueStatus &>(*obj));
40987 }
40988 return true;
40989 case updateSpeechRecognitionTrial::ID:
40990 if constexpr (AllowTag) {
40991 downcast_call_tag<updateSpeechRecognitionTrial> type_tag;
40992 func(type_tag);
40993 } else {
40994 func(static_cast<updateSpeechRecognitionTrial &>(*obj));
40995 }
40996 return true;
40997 case updateGroupCallMessageLevels::ID:
40998 if constexpr (AllowTag) {
40999 downcast_call_tag<updateGroupCallMessageLevels> type_tag;
41000 func(type_tag);
41001 } else {
41002 func(static_cast<updateGroupCallMessageLevels &>(*obj));
41003 }
41004 return true;
41005 case updateDiceEmojis::ID:
41006 if constexpr (AllowTag) {
41007 downcast_call_tag<updateDiceEmojis> type_tag;
41008 func(type_tag);
41009 } else {
41010 func(static_cast<updateDiceEmojis &>(*obj));
41011 }
41012 return true;
41013 case updateStakeDiceState::ID:
41014 if constexpr (AllowTag) {
41015 downcast_call_tag<updateStakeDiceState> type_tag;
41016 func(type_tag);
41017 } else {
41018 func(static_cast<updateStakeDiceState &>(*obj));
41019 }
41020 return true;
41021 case updateAnimatedEmojiMessageClicked::ID:
41022 if constexpr (AllowTag) {
41023 downcast_call_tag<updateAnimatedEmojiMessageClicked> type_tag;
41024 func(type_tag);
41025 } else {
41026 func(static_cast<updateAnimatedEmojiMessageClicked &>(*obj));
41027 }
41028 return true;
41029 case updateAnimationSearchParameters::ID:
41030 if constexpr (AllowTag) {
41031 downcast_call_tag<updateAnimationSearchParameters> type_tag;
41032 func(type_tag);
41033 } else {
41034 func(static_cast<updateAnimationSearchParameters &>(*obj));
41035 }
41036 return true;
41037 case updateTextCompositionStyles::ID:
41038 if constexpr (AllowTag) {
41039 downcast_call_tag<updateTextCompositionStyles> type_tag;
41040 func(type_tag);
41041 } else {
41042 func(static_cast<updateTextCompositionStyles &>(*obj));
41043 }
41044 return true;
41045 case updateSuggestedActions::ID:
41046 if constexpr (AllowTag) {
41047 downcast_call_tag<updateSuggestedActions> type_tag;
41048 func(type_tag);
41049 } else {
41050 func(static_cast<updateSuggestedActions &>(*obj));
41051 }
41052 return true;
41053 case updateSpeedLimitNotification::ID:
41054 if constexpr (AllowTag) {
41055 downcast_call_tag<updateSpeedLimitNotification> type_tag;
41056 func(type_tag);
41057 } else {
41058 func(static_cast<updateSpeedLimitNotification &>(*obj));
41059 }
41060 return true;
41061 case updateContactCloseBirthdays::ID:
41062 if constexpr (AllowTag) {
41063 downcast_call_tag<updateContactCloseBirthdays> type_tag;
41064 func(type_tag);
41065 } else {
41066 func(static_cast<updateContactCloseBirthdays &>(*obj));
41067 }
41068 return true;
41069 case updateAutosaveSettings::ID:
41070 if constexpr (AllowTag) {
41071 downcast_call_tag<updateAutosaveSettings> type_tag;
41072 func(type_tag);
41073 } else {
41074 func(static_cast<updateAutosaveSettings &>(*obj));
41075 }
41076 return true;
41077 case updateBusinessConnection::ID:
41078 if constexpr (AllowTag) {
41079 downcast_call_tag<updateBusinessConnection> type_tag;
41080 func(type_tag);
41081 } else {
41082 func(static_cast<updateBusinessConnection &>(*obj));
41083 }
41084 return true;
41085 case updateNewBusinessMessage::ID:
41086 if constexpr (AllowTag) {
41087 downcast_call_tag<updateNewBusinessMessage> type_tag;
41088 func(type_tag);
41089 } else {
41090 func(static_cast<updateNewBusinessMessage &>(*obj));
41091 }
41092 return true;
41093 case updateBusinessMessageEdited::ID:
41094 if constexpr (AllowTag) {
41095 downcast_call_tag<updateBusinessMessageEdited> type_tag;
41096 func(type_tag);
41097 } else {
41098 func(static_cast<updateBusinessMessageEdited &>(*obj));
41099 }
41100 return true;
41101 case updateBusinessMessagesDeleted::ID:
41102 if constexpr (AllowTag) {
41103 downcast_call_tag<updateBusinessMessagesDeleted> type_tag;
41104 func(type_tag);
41105 } else {
41106 func(static_cast<updateBusinessMessagesDeleted &>(*obj));
41107 }
41108 return true;
41109 case updateNewInlineQuery::ID:
41110 if constexpr (AllowTag) {
41111 downcast_call_tag<updateNewInlineQuery> type_tag;
41112 func(type_tag);
41113 } else {
41114 func(static_cast<updateNewInlineQuery &>(*obj));
41115 }
41116 return true;
41117 case updateNewGuestQuery::ID:
41118 if constexpr (AllowTag) {
41119 downcast_call_tag<updateNewGuestQuery> type_tag;
41120 func(type_tag);
41121 } else {
41122 func(static_cast<updateNewGuestQuery &>(*obj));
41123 }
41124 return true;
41125 case updateNewChosenInlineResult::ID:
41126 if constexpr (AllowTag) {
41127 downcast_call_tag<updateNewChosenInlineResult> type_tag;
41128 func(type_tag);
41129 } else {
41130 func(static_cast<updateNewChosenInlineResult &>(*obj));
41131 }
41132 return true;
41133 case updateNewCallbackQuery::ID:
41134 if constexpr (AllowTag) {
41135 downcast_call_tag<updateNewCallbackQuery> type_tag;
41136 func(type_tag);
41137 } else {
41138 func(static_cast<updateNewCallbackQuery &>(*obj));
41139 }
41140 return true;
41141 case updateNewInlineCallbackQuery::ID:
41142 if constexpr (AllowTag) {
41143 downcast_call_tag<updateNewInlineCallbackQuery> type_tag;
41144 func(type_tag);
41145 } else {
41146 func(static_cast<updateNewInlineCallbackQuery &>(*obj));
41147 }
41148 return true;
41149 case updateNewBusinessCallbackQuery::ID:
41150 if constexpr (AllowTag) {
41151 downcast_call_tag<updateNewBusinessCallbackQuery> type_tag;
41152 func(type_tag);
41153 } else {
41154 func(static_cast<updateNewBusinessCallbackQuery &>(*obj));
41155 }
41156 return true;
41157 case updateNewShippingQuery::ID:
41158 if constexpr (AllowTag) {
41159 downcast_call_tag<updateNewShippingQuery> type_tag;
41160 func(type_tag);
41161 } else {
41162 func(static_cast<updateNewShippingQuery &>(*obj));
41163 }
41164 return true;
41165 case updateNewPreCheckoutQuery::ID:
41166 if constexpr (AllowTag) {
41167 downcast_call_tag<updateNewPreCheckoutQuery> type_tag;
41168 func(type_tag);
41169 } else {
41170 func(static_cast<updateNewPreCheckoutQuery &>(*obj));
41171 }
41172 return true;
41173 case updateNewCustomEvent::ID:
41174 if constexpr (AllowTag) {
41175 downcast_call_tag<updateNewCustomEvent> type_tag;
41176 func(type_tag);
41177 } else {
41178 func(static_cast<updateNewCustomEvent &>(*obj));
41179 }
41180 return true;
41181 case updateNewCustomQuery::ID:
41182 if constexpr (AllowTag) {
41183 downcast_call_tag<updateNewCustomQuery> type_tag;
41184 func(type_tag);
41185 } else {
41186 func(static_cast<updateNewCustomQuery &>(*obj));
41187 }
41188 return true;
41189 case updatePoll::ID:
41190 if constexpr (AllowTag) {
41191 downcast_call_tag<updatePoll> type_tag;
41192 func(type_tag);
41193 } else {
41194 func(static_cast<updatePoll &>(*obj));
41195 }
41196 return true;
41197 case updatePollAnswer::ID:
41198 if constexpr (AllowTag) {
41199 downcast_call_tag<updatePollAnswer> type_tag;
41200 func(type_tag);
41201 } else {
41202 func(static_cast<updatePollAnswer &>(*obj));
41203 }
41204 return true;
41205 case updateManagedBot::ID:
41206 if constexpr (AllowTag) {
41207 downcast_call_tag<updateManagedBot> type_tag;
41208 func(type_tag);
41209 } else {
41210 func(static_cast<updateManagedBot &>(*obj));
41211 }
41212 return true;
41213 case updateChatMember::ID:
41214 if constexpr (AllowTag) {
41215 downcast_call_tag<updateChatMember> type_tag;
41216 func(type_tag);
41217 } else {
41218 func(static_cast<updateChatMember &>(*obj));
41219 }
41220 return true;
41221 case updateNewChatJoinRequest::ID:
41222 if constexpr (AllowTag) {
41223 downcast_call_tag<updateNewChatJoinRequest> type_tag;
41224 func(type_tag);
41225 } else {
41226 func(static_cast<updateNewChatJoinRequest &>(*obj));
41227 }
41228 return true;
41229 case updateChatBoost::ID:
41230 if constexpr (AllowTag) {
41231 downcast_call_tag<updateChatBoost> type_tag;
41232 func(type_tag);
41233 } else {
41234 func(static_cast<updateChatBoost &>(*obj));
41235 }
41236 return true;
41237 case updateMessageReaction::ID:
41238 if constexpr (AllowTag) {
41239 downcast_call_tag<updateMessageReaction> type_tag;
41240 func(type_tag);
41241 } else {
41242 func(static_cast<updateMessageReaction &>(*obj));
41243 }
41244 return true;
41245 case updateMessageReactions::ID:
41246 if constexpr (AllowTag) {
41247 downcast_call_tag<updateMessageReactions> type_tag;
41248 func(type_tag);
41249 } else {
41250 func(static_cast<updateMessageReactions &>(*obj));
41251 }
41252 return true;
41253 case updatePaidMediaPurchased::ID:
41254 if constexpr (AllowTag) {
41255 downcast_call_tag<updatePaidMediaPurchased> type_tag;
41256 func(type_tag);
41257 } else {
41258 func(static_cast<updatePaidMediaPurchased &>(*obj));
41259 }
41260 return true;
41261 default:
41262 return false;
41263 }
41264}

◆ downcast_call_impl() [194/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UpgradedGiftAttributeId obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41286 of file td_api.hpp.

41286 { //-V2008
41287 switch (constructor) {
41288 case upgradedGiftAttributeIdModel::ID:
41289 if constexpr (AllowTag) {
41290 downcast_call_tag<upgradedGiftAttributeIdModel> type_tag;
41291 func(type_tag);
41292 } else {
41293 func(static_cast<upgradedGiftAttributeIdModel &>(*obj));
41294 }
41295 return true;
41296 case upgradedGiftAttributeIdSymbol::ID:
41297 if constexpr (AllowTag) {
41298 downcast_call_tag<upgradedGiftAttributeIdSymbol> type_tag;
41299 func(type_tag);
41300 } else {
41301 func(static_cast<upgradedGiftAttributeIdSymbol &>(*obj));
41302 }
41303 return true;
41304 case upgradedGiftAttributeIdBackdrop::ID:
41305 if constexpr (AllowTag) {
41306 downcast_call_tag<upgradedGiftAttributeIdBackdrop> type_tag;
41307 func(type_tag);
41308 } else {
41309 func(static_cast<upgradedGiftAttributeIdBackdrop &>(*obj));
41310 }
41311 return true;
41312 default:
41313 return false;
41314 }
41315}

◆ downcast_call_impl() [195/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UpgradedGiftAttributeRarity obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41337 of file td_api.hpp.

41337 { //-V2008
41338 switch (constructor) {
41339 case upgradedGiftAttributeRarityPerMille::ID:
41340 if constexpr (AllowTag) {
41341 downcast_call_tag<upgradedGiftAttributeRarityPerMille> type_tag;
41342 func(type_tag);
41343 } else {
41344 func(static_cast<upgradedGiftAttributeRarityPerMille &>(*obj));
41345 }
41346 return true;
41347 case upgradedGiftAttributeRarityUncommon::ID:
41348 if constexpr (AllowTag) {
41349 downcast_call_tag<upgradedGiftAttributeRarityUncommon> type_tag;
41350 func(type_tag);
41351 } else {
41352 func(static_cast<upgradedGiftAttributeRarityUncommon &>(*obj));
41353 }
41354 return true;
41355 case upgradedGiftAttributeRarityRare::ID:
41356 if constexpr (AllowTag) {
41357 downcast_call_tag<upgradedGiftAttributeRarityRare> type_tag;
41358 func(type_tag);
41359 } else {
41360 func(static_cast<upgradedGiftAttributeRarityRare &>(*obj));
41361 }
41362 return true;
41363 case upgradedGiftAttributeRarityEpic::ID:
41364 if constexpr (AllowTag) {
41365 downcast_call_tag<upgradedGiftAttributeRarityEpic> type_tag;
41366 func(type_tag);
41367 } else {
41368 func(static_cast<upgradedGiftAttributeRarityEpic &>(*obj));
41369 }
41370 return true;
41371 case upgradedGiftAttributeRarityLegendary::ID:
41372 if constexpr (AllowTag) {
41373 downcast_call_tag<upgradedGiftAttributeRarityLegendary> type_tag;
41374 func(type_tag);
41375 } else {
41376 func(static_cast<upgradedGiftAttributeRarityLegendary &>(*obj));
41377 }
41378 return true;
41379 default:
41380 return false;
41381 }
41382}

◆ downcast_call_impl() [196/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UpgradedGiftOrigin obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41404 of file td_api.hpp.

41404 { //-V2008
41405 switch (constructor) {
41406 case upgradedGiftOriginUpgrade::ID:
41407 if constexpr (AllowTag) {
41408 downcast_call_tag<upgradedGiftOriginUpgrade> type_tag;
41409 func(type_tag);
41410 } else {
41411 func(static_cast<upgradedGiftOriginUpgrade &>(*obj));
41412 }
41413 return true;
41414 case upgradedGiftOriginTransfer::ID:
41415 if constexpr (AllowTag) {
41416 downcast_call_tag<upgradedGiftOriginTransfer> type_tag;
41417 func(type_tag);
41418 } else {
41419 func(static_cast<upgradedGiftOriginTransfer &>(*obj));
41420 }
41421 return true;
41422 case upgradedGiftOriginResale::ID:
41423 if constexpr (AllowTag) {
41424 downcast_call_tag<upgradedGiftOriginResale> type_tag;
41425 func(type_tag);
41426 } else {
41427 func(static_cast<upgradedGiftOriginResale &>(*obj));
41428 }
41429 return true;
41430 case upgradedGiftOriginBlockchain::ID:
41431 if constexpr (AllowTag) {
41432 downcast_call_tag<upgradedGiftOriginBlockchain> type_tag;
41433 func(type_tag);
41434 } else {
41435 func(static_cast<upgradedGiftOriginBlockchain &>(*obj));
41436 }
41437 return true;
41438 case upgradedGiftOriginPrepaidUpgrade::ID:
41439 if constexpr (AllowTag) {
41440 downcast_call_tag<upgradedGiftOriginPrepaidUpgrade> type_tag;
41441 func(type_tag);
41442 } else {
41443 func(static_cast<upgradedGiftOriginPrepaidUpgrade &>(*obj));
41444 }
41445 return true;
41446 case upgradedGiftOriginOffer::ID:
41447 if constexpr (AllowTag) {
41448 downcast_call_tag<upgradedGiftOriginOffer> type_tag;
41449 func(type_tag);
41450 } else {
41451 func(static_cast<upgradedGiftOriginOffer &>(*obj));
41452 }
41453 return true;
41454 case upgradedGiftOriginCraft::ID:
41455 if constexpr (AllowTag) {
41456 downcast_call_tag<upgradedGiftOriginCraft> type_tag;
41457 func(type_tag);
41458 } else {
41459 func(static_cast<upgradedGiftOriginCraft &>(*obj));
41460 }
41461 return true;
41462 default:
41463 return false;
41464 }
41465}

◆ downcast_call_impl() [197/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UserPrivacySetting obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41487 of file td_api.hpp.

41487 { //-V2008
41488 switch (constructor) {
41489 case userPrivacySettingShowStatus::ID:
41490 if constexpr (AllowTag) {
41491 downcast_call_tag<userPrivacySettingShowStatus> type_tag;
41492 func(type_tag);
41493 } else {
41494 func(static_cast<userPrivacySettingShowStatus &>(*obj));
41495 }
41496 return true;
41497 case userPrivacySettingShowProfilePhoto::ID:
41498 if constexpr (AllowTag) {
41499 downcast_call_tag<userPrivacySettingShowProfilePhoto> type_tag;
41500 func(type_tag);
41501 } else {
41502 func(static_cast<userPrivacySettingShowProfilePhoto &>(*obj));
41503 }
41504 return true;
41505 case userPrivacySettingShowLinkInForwardedMessages::ID:
41506 if constexpr (AllowTag) {
41507 downcast_call_tag<userPrivacySettingShowLinkInForwardedMessages> type_tag;
41508 func(type_tag);
41509 } else {
41510 func(static_cast<userPrivacySettingShowLinkInForwardedMessages &>(*obj));
41511 }
41512 return true;
41513 case userPrivacySettingShowPhoneNumber::ID:
41514 if constexpr (AllowTag) {
41515 downcast_call_tag<userPrivacySettingShowPhoneNumber> type_tag;
41516 func(type_tag);
41517 } else {
41518 func(static_cast<userPrivacySettingShowPhoneNumber &>(*obj));
41519 }
41520 return true;
41521 case userPrivacySettingShowBio::ID:
41522 if constexpr (AllowTag) {
41523 downcast_call_tag<userPrivacySettingShowBio> type_tag;
41524 func(type_tag);
41525 } else {
41526 func(static_cast<userPrivacySettingShowBio &>(*obj));
41527 }
41528 return true;
41529 case userPrivacySettingShowBirthdate::ID:
41530 if constexpr (AllowTag) {
41531 downcast_call_tag<userPrivacySettingShowBirthdate> type_tag;
41532 func(type_tag);
41533 } else {
41534 func(static_cast<userPrivacySettingShowBirthdate &>(*obj));
41535 }
41536 return true;
41537 case userPrivacySettingShowProfileAudio::ID:
41538 if constexpr (AllowTag) {
41539 downcast_call_tag<userPrivacySettingShowProfileAudio> type_tag;
41540 func(type_tag);
41541 } else {
41542 func(static_cast<userPrivacySettingShowProfileAudio &>(*obj));
41543 }
41544 return true;
41545 case userPrivacySettingAllowChatInvites::ID:
41546 if constexpr (AllowTag) {
41547 downcast_call_tag<userPrivacySettingAllowChatInvites> type_tag;
41548 func(type_tag);
41549 } else {
41550 func(static_cast<userPrivacySettingAllowChatInvites &>(*obj));
41551 }
41552 return true;
41553 case userPrivacySettingAllowCalls::ID:
41554 if constexpr (AllowTag) {
41555 downcast_call_tag<userPrivacySettingAllowCalls> type_tag;
41556 func(type_tag);
41557 } else {
41558 func(static_cast<userPrivacySettingAllowCalls &>(*obj));
41559 }
41560 return true;
41561 case userPrivacySettingAllowPeerToPeerCalls::ID:
41562 if constexpr (AllowTag) {
41563 downcast_call_tag<userPrivacySettingAllowPeerToPeerCalls> type_tag;
41564 func(type_tag);
41565 } else {
41566 func(static_cast<userPrivacySettingAllowPeerToPeerCalls &>(*obj));
41567 }
41568 return true;
41569 case userPrivacySettingAllowFindingByPhoneNumber::ID:
41570 if constexpr (AllowTag) {
41571 downcast_call_tag<userPrivacySettingAllowFindingByPhoneNumber> type_tag;
41572 func(type_tag);
41573 } else {
41574 func(static_cast<userPrivacySettingAllowFindingByPhoneNumber &>(*obj));
41575 }
41576 return true;
41577 case userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages::ID:
41578 if constexpr (AllowTag) {
41579 downcast_call_tag<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages> type_tag;
41580 func(type_tag);
41581 } else {
41582 func(static_cast<userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages &>(*obj));
41583 }
41584 return true;
41585 case userPrivacySettingAutosaveGifts::ID:
41586 if constexpr (AllowTag) {
41587 downcast_call_tag<userPrivacySettingAutosaveGifts> type_tag;
41588 func(type_tag);
41589 } else {
41590 func(static_cast<userPrivacySettingAutosaveGifts &>(*obj));
41591 }
41592 return true;
41593 case userPrivacySettingAllowUnpaidMessages::ID:
41594 if constexpr (AllowTag) {
41595 downcast_call_tag<userPrivacySettingAllowUnpaidMessages> type_tag;
41596 func(type_tag);
41597 } else {
41598 func(static_cast<userPrivacySettingAllowUnpaidMessages &>(*obj));
41599 }
41600 return true;
41601 default:
41602 return false;
41603 }
41604}

◆ downcast_call_impl() [198/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UserPrivacySettingRule obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41626 of file td_api.hpp.

41626 { //-V2008
41627 switch (constructor) {
41628 case userPrivacySettingRuleAllowAll::ID:
41629 if constexpr (AllowTag) {
41630 downcast_call_tag<userPrivacySettingRuleAllowAll> type_tag;
41631 func(type_tag);
41632 } else {
41633 func(static_cast<userPrivacySettingRuleAllowAll &>(*obj));
41634 }
41635 return true;
41636 case userPrivacySettingRuleAllowContacts::ID:
41637 if constexpr (AllowTag) {
41638 downcast_call_tag<userPrivacySettingRuleAllowContacts> type_tag;
41639 func(type_tag);
41640 } else {
41641 func(static_cast<userPrivacySettingRuleAllowContacts &>(*obj));
41642 }
41643 return true;
41644 case userPrivacySettingRuleAllowBots::ID:
41645 if constexpr (AllowTag) {
41646 downcast_call_tag<userPrivacySettingRuleAllowBots> type_tag;
41647 func(type_tag);
41648 } else {
41649 func(static_cast<userPrivacySettingRuleAllowBots &>(*obj));
41650 }
41651 return true;
41652 case userPrivacySettingRuleAllowPremiumUsers::ID:
41653 if constexpr (AllowTag) {
41654 downcast_call_tag<userPrivacySettingRuleAllowPremiumUsers> type_tag;
41655 func(type_tag);
41656 } else {
41657 func(static_cast<userPrivacySettingRuleAllowPremiumUsers &>(*obj));
41658 }
41659 return true;
41660 case userPrivacySettingRuleAllowUsers::ID:
41661 if constexpr (AllowTag) {
41662 downcast_call_tag<userPrivacySettingRuleAllowUsers> type_tag;
41663 func(type_tag);
41664 } else {
41665 func(static_cast<userPrivacySettingRuleAllowUsers &>(*obj));
41666 }
41667 return true;
41668 case userPrivacySettingRuleAllowChatMembers::ID:
41669 if constexpr (AllowTag) {
41670 downcast_call_tag<userPrivacySettingRuleAllowChatMembers> type_tag;
41671 func(type_tag);
41672 } else {
41673 func(static_cast<userPrivacySettingRuleAllowChatMembers &>(*obj));
41674 }
41675 return true;
41676 case userPrivacySettingRuleRestrictAll::ID:
41677 if constexpr (AllowTag) {
41678 downcast_call_tag<userPrivacySettingRuleRestrictAll> type_tag;
41679 func(type_tag);
41680 } else {
41681 func(static_cast<userPrivacySettingRuleRestrictAll &>(*obj));
41682 }
41683 return true;
41684 case userPrivacySettingRuleRestrictContacts::ID:
41685 if constexpr (AllowTag) {
41686 downcast_call_tag<userPrivacySettingRuleRestrictContacts> type_tag;
41687 func(type_tag);
41688 } else {
41689 func(static_cast<userPrivacySettingRuleRestrictContacts &>(*obj));
41690 }
41691 return true;
41692 case userPrivacySettingRuleRestrictBots::ID:
41693 if constexpr (AllowTag) {
41694 downcast_call_tag<userPrivacySettingRuleRestrictBots> type_tag;
41695 func(type_tag);
41696 } else {
41697 func(static_cast<userPrivacySettingRuleRestrictBots &>(*obj));
41698 }
41699 return true;
41700 case userPrivacySettingRuleRestrictUsers::ID:
41701 if constexpr (AllowTag) {
41702 downcast_call_tag<userPrivacySettingRuleRestrictUsers> type_tag;
41703 func(type_tag);
41704 } else {
41705 func(static_cast<userPrivacySettingRuleRestrictUsers &>(*obj));
41706 }
41707 return true;
41708 case userPrivacySettingRuleRestrictChatMembers::ID:
41709 if constexpr (AllowTag) {
41710 downcast_call_tag<userPrivacySettingRuleRestrictChatMembers> type_tag;
41711 func(type_tag);
41712 } else {
41713 func(static_cast<userPrivacySettingRuleRestrictChatMembers &>(*obj));
41714 }
41715 return true;
41716 default:
41717 return false;
41718 }
41719}

◆ downcast_call_impl() [199/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UserStatus obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41741 of file td_api.hpp.

41741 { //-V2008
41742 switch (constructor) {
41743 case userStatusEmpty::ID:
41744 if constexpr (AllowTag) {
41745 downcast_call_tag<userStatusEmpty> type_tag;
41746 func(type_tag);
41747 } else {
41748 func(static_cast<userStatusEmpty &>(*obj));
41749 }
41750 return true;
41751 case userStatusOnline::ID:
41752 if constexpr (AllowTag) {
41753 downcast_call_tag<userStatusOnline> type_tag;
41754 func(type_tag);
41755 } else {
41756 func(static_cast<userStatusOnline &>(*obj));
41757 }
41758 return true;
41759 case userStatusOffline::ID:
41760 if constexpr (AllowTag) {
41761 downcast_call_tag<userStatusOffline> type_tag;
41762 func(type_tag);
41763 } else {
41764 func(static_cast<userStatusOffline &>(*obj));
41765 }
41766 return true;
41767 case userStatusRecently::ID:
41768 if constexpr (AllowTag) {
41769 downcast_call_tag<userStatusRecently> type_tag;
41770 func(type_tag);
41771 } else {
41772 func(static_cast<userStatusRecently &>(*obj));
41773 }
41774 return true;
41775 case userStatusLastWeek::ID:
41776 if constexpr (AllowTag) {
41777 downcast_call_tag<userStatusLastWeek> type_tag;
41778 func(type_tag);
41779 } else {
41780 func(static_cast<userStatusLastWeek &>(*obj));
41781 }
41782 return true;
41783 case userStatusLastMonth::ID:
41784 if constexpr (AllowTag) {
41785 downcast_call_tag<userStatusLastMonth> type_tag;
41786 func(type_tag);
41787 } else {
41788 func(static_cast<userStatusLastMonth &>(*obj));
41789 }
41790 return true;
41791 default:
41792 return false;
41793 }
41794}

◆ downcast_call_impl() [200/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
UserType obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41816 of file td_api.hpp.

41816 { //-V2008
41817 switch (constructor) {
41818 case userTypeRegular::ID:
41819 if constexpr (AllowTag) {
41820 downcast_call_tag<userTypeRegular> type_tag;
41821 func(type_tag);
41822 } else {
41823 func(static_cast<userTypeRegular &>(*obj));
41824 }
41825 return true;
41826 case userTypeDeleted::ID:
41827 if constexpr (AllowTag) {
41828 downcast_call_tag<userTypeDeleted> type_tag;
41829 func(type_tag);
41830 } else {
41831 func(static_cast<userTypeDeleted &>(*obj));
41832 }
41833 return true;
41834 case userTypeBot::ID:
41835 if constexpr (AllowTag) {
41836 downcast_call_tag<userTypeBot> type_tag;
41837 func(type_tag);
41838 } else {
41839 func(static_cast<userTypeBot &>(*obj));
41840 }
41841 return true;
41842 case userTypeUnknown::ID:
41843 if constexpr (AllowTag) {
41844 downcast_call_tag<userTypeUnknown> type_tag;
41845 func(type_tag);
41846 } else {
41847 func(static_cast<userTypeUnknown &>(*obj));
41848 }
41849 return true;
41850 default:
41851 return false;
41852 }
41853}

◆ downcast_call_impl() [201/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
VectorPathCommand obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41875 of file td_api.hpp.

41875 { //-V2008
41876 switch (constructor) {
41877 case vectorPathCommandLine::ID:
41878 if constexpr (AllowTag) {
41879 downcast_call_tag<vectorPathCommandLine> type_tag;
41880 func(type_tag);
41881 } else {
41882 func(static_cast<vectorPathCommandLine &>(*obj));
41883 }
41884 return true;
41885 case vectorPathCommandCubicBezierCurve::ID:
41886 if constexpr (AllowTag) {
41887 downcast_call_tag<vectorPathCommandCubicBezierCurve> type_tag;
41888 func(type_tag);
41889 } else {
41890 func(static_cast<vectorPathCommandCubicBezierCurve &>(*obj));
41891 }
41892 return true;
41893 default:
41894 return false;
41895 }
41896}

◆ downcast_call_impl() [202/202]

template<class T , bool AllowTag>
bool td::td_api::downcast_call_impl ( int32  constructor,
WebAppOpenMode obj,
const T &  func 
)

Calls the specified function object with the given object downcasted to its most derived type.

Parameters
[in]objObject to pass as an argument to the function object.
[in]funcFunction object to which the object will be passed.
Returns
Whether function object call has happened. Should always return true for correct parameters.

Definition at line 41918 of file td_api.hpp.

41918 { //-V2008
41919 switch (constructor) {
41920 case webAppOpenModeCompact::ID:
41921 if constexpr (AllowTag) {
41922 downcast_call_tag<webAppOpenModeCompact> type_tag;
41923 func(type_tag);
41924 } else {
41925 func(static_cast<webAppOpenModeCompact &>(*obj));
41926 }
41927 return true;
41928 case webAppOpenModeFullSize::ID:
41929 if constexpr (AllowTag) {
41930 downcast_call_tag<webAppOpenModeFullSize> type_tag;
41931 func(type_tag);
41932 } else {
41933 func(static_cast<webAppOpenModeFullSize &>(*obj));
41934 }
41935 return true;
41936 case webAppOpenModeFullScreen::ID:
41937 if constexpr (AllowTag) {
41938 downcast_call_tag<webAppOpenModeFullScreen> type_tag;
41939 func(type_tag);
41940 } else {
41941 func(static_cast<webAppOpenModeFullScreen &>(*obj));
41942 }
41943 return true;
41944 default:
41945 return false;
41946 }
41947}

◆ downcast_construct_call() [1/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ActiveStoryState obj,
const T &  func 
)

Definition at line 24284 of file td_api.hpp.

24284 {
24285 return downcast_call_impl<T, true>(constructor, obj, func);
24286}

◆ downcast_construct_call() [2/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AffiliateProgramSortOrder obj,
const T &  func 
)

Definition at line 24335 of file td_api.hpp.

24335 {
24336 return downcast_call_impl<T, true>(constructor, obj, func);
24337}

◆ downcast_construct_call() [3/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AffiliateType obj,
const T &  func 
)

Definition at line 24386 of file td_api.hpp.

24386 {
24387 return downcast_call_impl<T, true>(constructor, obj, func);
24388}

◆ downcast_construct_call() [4/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AuctionState obj,
const T &  func 
)

Definition at line 24437 of file td_api.hpp.

24437 {
24438 return downcast_call_impl<T, true>(constructor, obj, func);
24439}

◆ downcast_construct_call() [5/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AuthenticationCodeType obj,
const T &  func 
)

Definition at line 24480 of file td_api.hpp.

24480 {
24481 return downcast_call_impl<T, true>(constructor, obj, func);
24482}

◆ downcast_construct_call() [6/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AuthorizationState obj,
const T &  func 
)

Definition at line 24587 of file td_api.hpp.

24587 {
24588 return downcast_call_impl<T, true>(constructor, obj, func);
24589}

◆ downcast_construct_call() [7/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
AutosaveSettingsScope obj,
const T &  func 
)

Definition at line 24718 of file td_api.hpp.

24718 {
24719 return downcast_call_impl<T, true>(constructor, obj, func);
24720}

◆ downcast_construct_call() [8/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BackgroundFill obj,
const T &  func 
)

Definition at line 24777 of file td_api.hpp.

24777 {
24778 return downcast_call_impl<T, true>(constructor, obj, func);
24779}

◆ downcast_construct_call() [9/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BackgroundType obj,
const T &  func 
)

Definition at line 24828 of file td_api.hpp.

24828 {
24829 return downcast_call_impl<T, true>(constructor, obj, func);
24830}

◆ downcast_construct_call() [10/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BlockList obj,
const T &  func 
)

Definition at line 24887 of file td_api.hpp.

24887 {
24888 return downcast_call_impl<T, true>(constructor, obj, func);
24889}

◆ downcast_construct_call() [11/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BotCommandScope obj,
const T &  func 
)

Definition at line 24930 of file td_api.hpp.

24930 {
24931 return downcast_call_impl<T, true>(constructor, obj, func);
24932}

◆ downcast_construct_call() [12/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BotWriteAccessAllowReason obj,
const T &  func 
)

Definition at line 25013 of file td_api.hpp.

25013 {
25014 return downcast_call_impl<T, true>(constructor, obj, func);
25015}

◆ downcast_construct_call() [13/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BuiltInTheme obj,
const T &  func 
)

Definition at line 25072 of file td_api.hpp.

25072 {
25073 return downcast_call_impl<T, true>(constructor, obj, func);
25074}

◆ downcast_construct_call() [14/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BusinessAwayMessageSchedule obj,
const T &  func 
)

Definition at line 25139 of file td_api.hpp.

25139 {
25140 return downcast_call_impl<T, true>(constructor, obj, func);
25141}

◆ downcast_construct_call() [15/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
BusinessFeature obj,
const T &  func 
)

Definition at line 25190 of file td_api.hpp.

25190 {
25191 return downcast_call_impl<T, true>(constructor, obj, func);
25192}

◆ downcast_construct_call() [16/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ButtonStyle obj,
const T &  func 
)

Definition at line 25305 of file td_api.hpp.

25305 {
25306 return downcast_call_impl<T, true>(constructor, obj, func);
25307}

◆ downcast_construct_call() [17/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CallbackQueryPayload obj,
const T &  func 
)

Definition at line 25656 of file td_api.hpp.

25656 {
25657 return downcast_call_impl<T, true>(constructor, obj, func);
25658}

◆ downcast_construct_call() [18/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CallDiscardReason obj,
const T &  func 
)

Definition at line 25364 of file td_api.hpp.

25364 {
25365 return downcast_call_impl<T, true>(constructor, obj, func);
25366}

◆ downcast_construct_call() [19/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CallProblem obj,
const T &  func 
)

Definition at line 25439 of file td_api.hpp.

25439 {
25440 return downcast_call_impl<T, true>(constructor, obj, func);
25441}

◆ downcast_construct_call() [20/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CallServerType obj,
const T &  func 
)

Definition at line 25538 of file td_api.hpp.

25538 {
25539 return downcast_call_impl<T, true>(constructor, obj, func);
25540}

◆ downcast_construct_call() [21/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CallState obj,
const T &  func 
)

Definition at line 25581 of file td_api.hpp.

25581 {
25582 return downcast_call_impl<T, true>(constructor, obj, func);
25583}

◆ downcast_construct_call() [22/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CanPostStoryResult obj,
const T &  func 
)

Definition at line 25707 of file td_api.hpp.

25707 {
25708 return downcast_call_impl<T, true>(constructor, obj, func);
25709}

◆ downcast_construct_call() [23/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CanSendGiftResult obj,
const T &  func 
)

Definition at line 25790 of file td_api.hpp.

25790 {
25791 return downcast_call_impl<T, true>(constructor, obj, func);
25792}

◆ downcast_construct_call() [24/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CanSendMessageToUserResult obj,
const T &  func 
)

Definition at line 25833 of file td_api.hpp.

25833 {
25834 return downcast_call_impl<T, true>(constructor, obj, func);
25835}

◆ downcast_construct_call() [25/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CanTransferOwnershipResult obj,
const T &  func 
)

Definition at line 25892 of file td_api.hpp.

25892 {
25893 return downcast_call_impl<T, true>(constructor, obj, func);
25894}

◆ downcast_construct_call() [26/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatAction obj,
const T &  func 
)

Definition at line 25951 of file td_api.hpp.

25951 {
25952 return downcast_call_impl<T, true>(constructor, obj, func);
25953}

◆ downcast_construct_call() [27/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatActionBar obj,
const T &  func 
)

Definition at line 26098 of file td_api.hpp.

26098 {
26099 return downcast_call_impl<T, true>(constructor, obj, func);
26100}

◆ downcast_construct_call() [28/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatAvailableReactions obj,
const T &  func 
)

Definition at line 26173 of file td_api.hpp.

26173 {
26174 return downcast_call_impl<T, true>(constructor, obj, func);
26175}

◆ downcast_construct_call() [29/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatBoostSource obj,
const T &  func 
)

Definition at line 26216 of file td_api.hpp.

26216 {
26217 return downcast_call_impl<T, true>(constructor, obj, func);
26218}

◆ downcast_construct_call() [30/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatEventAction obj,
const T &  func 
)

Definition at line 26267 of file td_api.hpp.

26267 {
26268 return downcast_call_impl<T, true>(constructor, obj, func);
26269}

◆ downcast_construct_call() [31/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatList obj,
const T &  func 
)

Definition at line 26718 of file td_api.hpp.

26718 {
26719 return downcast_call_impl<T, true>(constructor, obj, func);
26720}

◆ downcast_construct_call() [32/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatMembersFilter obj,
const T &  func 
)

Definition at line 26844 of file td_api.hpp.

26844 {
26845 return downcast_call_impl<T, true>(constructor, obj, func);
26846}

◆ downcast_construct_call() [33/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatMemberStatus obj,
const T &  func 
)

Definition at line 26769 of file td_api.hpp.

26769 {
26770 return downcast_call_impl<T, true>(constructor, obj, func);
26771}

◆ downcast_construct_call() [34/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatPhotoStickerType obj,
const T &  func 
)

Definition at line 26927 of file td_api.hpp.

26927 {
26928 return downcast_call_impl<T, true>(constructor, obj, func);
26929}

◆ downcast_construct_call() [35/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatRevenueTransactionType obj,
const T &  func 
)

Definition at line 26970 of file td_api.hpp.

26970 {
26971 return downcast_call_impl<T, true>(constructor, obj, func);
26972}

◆ downcast_construct_call() [36/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatSource obj,
const T &  func 
)

Definition at line 27037 of file td_api.hpp.

27037 {
27038 return downcast_call_impl<T, true>(constructor, obj, func);
27039}

◆ downcast_construct_call() [37/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatStatistics obj,
const T &  func 
)

Definition at line 27080 of file td_api.hpp.

27080 {
27081 return downcast_call_impl<T, true>(constructor, obj, func);
27082}

◆ downcast_construct_call() [38/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatStatisticsObjectType obj,
const T &  func 
)

Definition at line 27123 of file td_api.hpp.

27123 {
27124 return downcast_call_impl<T, true>(constructor, obj, func);
27125}

◆ downcast_construct_call() [39/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatTheme obj,
const T &  func 
)

Definition at line 27166 of file td_api.hpp.

27166 {
27167 return downcast_call_impl<T, true>(constructor, obj, func);
27168}

◆ downcast_construct_call() [40/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ChatType obj,
const T &  func 
)

Definition at line 27209 of file td_api.hpp.

27209 {
27210 return downcast_call_impl<T, true>(constructor, obj, func);
27211}

◆ downcast_construct_call() [41/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CheckChatUsernameResult obj,
const T &  func 
)

Definition at line 27268 of file td_api.hpp.

27268 {
27269 return downcast_call_impl<T, true>(constructor, obj, func);
27270}

◆ downcast_construct_call() [42/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CheckStickerSetNameResult obj,
const T &  func 
)

Definition at line 27343 of file td_api.hpp.

27343 {
27344 return downcast_call_impl<T, true>(constructor, obj, func);
27345}

◆ downcast_construct_call() [43/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CollectibleItemType obj,
const T &  func 
)

Definition at line 27394 of file td_api.hpp.

27394 {
27395 return downcast_call_impl<T, true>(constructor, obj, func);
27396}

◆ downcast_construct_call() [44/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ConnectionState obj,
const T &  func 
)

Definition at line 27437 of file td_api.hpp.

27437 {
27438 return downcast_call_impl<T, true>(constructor, obj, func);
27439}

◆ downcast_construct_call() [45/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
CraftGiftResult obj,
const T &  func 
)

Definition at line 27504 of file td_api.hpp.

27504 {
27505 return downcast_call_impl<T, true>(constructor, obj, func);
27506}

◆ downcast_construct_call() [46/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
DateTimeFormattingType obj,
const T &  func 
)

Definition at line 27563 of file td_api.hpp.

27563 {
27564 return downcast_call_impl<T, true>(constructor, obj, func);
27565}

◆ downcast_construct_call() [47/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
DateTimePartPrecision obj,
const T &  func 
)

Definition at line 27606 of file td_api.hpp.

27606 {
27607 return downcast_call_impl<T, true>(constructor, obj, func);
27608}

◆ downcast_construct_call() [48/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
DeviceToken obj,
const T &  func 
)

Definition at line 27657 of file td_api.hpp.

27657 {
27658 return downcast_call_impl<T, true>(constructor, obj, func);
27659}

◆ downcast_construct_call() [49/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
DiceStickers obj,
const T &  func 
)

Definition at line 27780 of file td_api.hpp.

27780 {
27781 return downcast_call_impl<T, true>(constructor, obj, func);
27782}

◆ downcast_construct_call() [50/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
DiffEntityType obj,
const T &  func 
)

Definition at line 27823 of file td_api.hpp.

27823 {
27824 return downcast_call_impl<T, true>(constructor, obj, func);
27825}

◆ downcast_construct_call() [51/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
EmailAddressAuthentication obj,
const T &  func 
)

Definition at line 27874 of file td_api.hpp.

27874 {
27875 return downcast_call_impl<T, true>(constructor, obj, func);
27876}

◆ downcast_construct_call() [52/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
EmailAddressResetState obj,
const T &  func 
)

Definition at line 27925 of file td_api.hpp.

27925 {
27926 return downcast_call_impl<T, true>(constructor, obj, func);
27927}

◆ downcast_construct_call() [53/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
EmojiCategorySource obj,
const T &  func 
)

Definition at line 27968 of file td_api.hpp.

27968 {
27969 return downcast_call_impl<T, true>(constructor, obj, func);
27970}

◆ downcast_construct_call() [54/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
EmojiCategoryType obj,
const T &  func 
)

Definition at line 28011 of file td_api.hpp.

28011 {
28012 return downcast_call_impl<T, true>(constructor, obj, func);
28013}

◆ downcast_construct_call() [55/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
EmojiStatusType obj,
const T &  func 
)

Definition at line 28070 of file td_api.hpp.

28070 {
28071 return downcast_call_impl<T, true>(constructor, obj, func);
28072}

◆ downcast_construct_call() [56/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
FileType obj,
const T &  func 
)

Definition at line 28113 of file td_api.hpp.

28113 {
28114 return downcast_call_impl<T, true>(constructor, obj, func);
28115}

◆ downcast_construct_call() [57/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
FirebaseAuthenticationSettings obj,
const T &  func 
)

Definition at line 28340 of file td_api.hpp.

28340 {
28341 return downcast_call_impl<T, true>(constructor, obj, func);
28342}

◆ downcast_construct_call() [58/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
FirebaseDeviceVerificationParameters obj,
const T &  func 
)

Definition at line 28383 of file td_api.hpp.

28383 {
28384 return downcast_call_impl<T, true>(constructor, obj, func);
28385}

◆ downcast_construct_call() [59/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
Function obj,
const T &  func 
)

Definition at line 16409 of file td_api.hpp.

16409 {
16410 return downcast_call_impl<T, true>(constructor, obj, func);
16411}

◆ downcast_construct_call() [60/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiftForResaleOrder obj,
const T &  func 
)

Definition at line 28426 of file td_api.hpp.

28426 {
28427 return downcast_call_impl<T, true>(constructor, obj, func);
28428}

◆ downcast_construct_call() [61/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiftPurchaseOfferState obj,
const T &  func 
)

Definition at line 28477 of file td_api.hpp.

28477 {
28478 return downcast_call_impl<T, true>(constructor, obj, func);
28479}

◆ downcast_construct_call() [62/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiftResalePrice obj,
const T &  func 
)

Definition at line 28528 of file td_api.hpp.

28528 {
28529 return downcast_call_impl<T, true>(constructor, obj, func);
28530}

◆ downcast_construct_call() [63/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiftResaleResult obj,
const T &  func 
)

Definition at line 28571 of file td_api.hpp.

28571 {
28572 return downcast_call_impl<T, true>(constructor, obj, func);
28573}

◆ downcast_construct_call() [64/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiveawayInfo obj,
const T &  func 
)

Definition at line 28614 of file td_api.hpp.

28614 {
28615 return downcast_call_impl<T, true>(constructor, obj, func);
28616}

◆ downcast_construct_call() [65/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiveawayParticipantStatus obj,
const T &  func 
)

Definition at line 28657 of file td_api.hpp.

28657 {
28658 return downcast_call_impl<T, true>(constructor, obj, func);
28659}

◆ downcast_construct_call() [66/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GiveawayPrize obj,
const T &  func 
)

Definition at line 28724 of file td_api.hpp.

28724 {
28725 return downcast_call_impl<T, true>(constructor, obj, func);
28726}

◆ downcast_construct_call() [67/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GroupCallDataChannel obj,
const T &  func 
)

Definition at line 28767 of file td_api.hpp.

28767 {
28768 return downcast_call_impl<T, true>(constructor, obj, func);
28769}

◆ downcast_construct_call() [68/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
GroupCallVideoQuality obj,
const T &  func 
)

Definition at line 28810 of file td_api.hpp.

28810 {
28811 return downcast_call_impl<T, true>(constructor, obj, func);
28812}

◆ downcast_construct_call() [69/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InlineKeyboardButtonType obj,
const T &  func 
)

Definition at line 28861 of file td_api.hpp.

28861 {
28862 return downcast_call_impl<T, true>(constructor, obj, func);
28863}

◆ downcast_construct_call() [70/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InlineQueryResult obj,
const T &  func 
)

Definition at line 28968 of file td_api.hpp.

28968 {
28969 return downcast_call_impl<T, true>(constructor, obj, func);
28970}

◆ downcast_construct_call() [71/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InlineQueryResultsButtonType obj,
const T &  func 
)

Definition at line 29091 of file td_api.hpp.

29091 {
29092 return downcast_call_impl<T, true>(constructor, obj, func);
29093}

◆ downcast_construct_call() [72/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputBackground obj,
const T &  func 
)

Definition at line 29134 of file td_api.hpp.

29134 {
29135 return downcast_call_impl<T, true>(constructor, obj, func);
29136}

◆ downcast_construct_call() [73/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputCall obj,
const T &  func 
)

Definition at line 29185 of file td_api.hpp.

29185 {
29186 return downcast_call_impl<T, true>(constructor, obj, func);
29187}

◆ downcast_construct_call() [74/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputChatPhoto obj,
const T &  func 
)

Definition at line 29228 of file td_api.hpp.

29228 {
29229 return downcast_call_impl<T, true>(constructor, obj, func);
29230}

◆ downcast_construct_call() [75/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputChatTheme obj,
const T &  func 
)

Definition at line 29287 of file td_api.hpp.

29287 {
29288 return downcast_call_impl<T, true>(constructor, obj, func);
29289}

◆ downcast_construct_call() [76/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputCredentials obj,
const T &  func 
)

Definition at line 29330 of file td_api.hpp.

29330 {
29331 return downcast_call_impl<T, true>(constructor, obj, func);
29332}

◆ downcast_construct_call() [77/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputFile obj,
const T &  func 
)

Definition at line 29389 of file td_api.hpp.

29389 {
29390 return downcast_call_impl<T, true>(constructor, obj, func);
29391}

◆ downcast_construct_call() [78/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputGroupCall obj,
const T &  func 
)

Definition at line 29448 of file td_api.hpp.

29448 {
29449 return downcast_call_impl<T, true>(constructor, obj, func);
29450}

◆ downcast_construct_call() [79/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputInlineQueryResult obj,
const T &  func 
)

Definition at line 29491 of file td_api.hpp.

29491 {
29492 return downcast_call_impl<T, true>(constructor, obj, func);
29493}

◆ downcast_construct_call() [80/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputInvoice obj,
const T &  func 
)

Definition at line 29614 of file td_api.hpp.

29614 {
29615 return downcast_call_impl<T, true>(constructor, obj, func);
29616}

◆ downcast_construct_call() [81/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputMessageContent obj,
const T &  func 
)

Definition at line 29665 of file td_api.hpp.

29665 {
29666 return downcast_call_impl<T, true>(constructor, obj, func);
29667}

◆ downcast_construct_call() [82/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputMessageReplyTo obj,
const T &  func 
)

Definition at line 29860 of file td_api.hpp.

29860 {
29861 return downcast_call_impl<T, true>(constructor, obj, func);
29862}

◆ downcast_construct_call() [83/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputPaidMediaType obj,
const T &  func 
)

Definition at line 29911 of file td_api.hpp.

29911 {
29912 return downcast_call_impl<T, true>(constructor, obj, func);
29913}

◆ downcast_construct_call() [84/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputPassportElement obj,
const T &  func 
)

Definition at line 29954 of file td_api.hpp.

29954 {
29955 return downcast_call_impl<T, true>(constructor, obj, func);
29956}

◆ downcast_construct_call() [85/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputPassportElementErrorSource obj,
const T &  func 
)

Definition at line 30085 of file td_api.hpp.

30085 {
30086 return downcast_call_impl<T, true>(constructor, obj, func);
30087}

◆ downcast_construct_call() [86/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputPollType obj,
const T &  func 
)

Definition at line 30184 of file td_api.hpp.

30184 {
30185 return downcast_call_impl<T, true>(constructor, obj, func);
30186}

◆ downcast_construct_call() [87/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputStoryAreaType obj,
const T &  func 
)

Definition at line 30227 of file td_api.hpp.

30227 {
30228 return downcast_call_impl<T, true>(constructor, obj, func);
30229}

◆ downcast_construct_call() [88/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InputStoryContent obj,
const T &  func 
)

Definition at line 30318 of file td_api.hpp.

30318 {
30319 return downcast_call_impl<T, true>(constructor, obj, func);
30320}

◆ downcast_construct_call() [89/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InternalLinkType obj,
const T &  func 
)

Definition at line 30361 of file td_api.hpp.

30361 {
30362 return downcast_call_impl<T, true>(constructor, obj, func);
30363}

◆ downcast_construct_call() [90/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InviteGroupCallParticipantResult obj,
const T &  func 
)

Definition at line 30844 of file td_api.hpp.

30844 {
30845 return downcast_call_impl<T, true>(constructor, obj, func);
30846}

◆ downcast_construct_call() [91/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
InviteLinkChatType obj,
const T &  func 
)

Definition at line 30903 of file td_api.hpp.

30903 {
30904 return downcast_call_impl<T, true>(constructor, obj, func);
30905}

◆ downcast_construct_call() [92/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
JsonValue obj,
const T &  func 
)

Definition at line 30954 of file td_api.hpp.

30954 {
30955 return downcast_call_impl<T, true>(constructor, obj, func);
30956}

◆ downcast_construct_call() [93/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
KeyboardButtonSource obj,
const T &  func 
)

Definition at line 31029 of file td_api.hpp.

31029 {
31030 return downcast_call_impl<T, true>(constructor, obj, func);
31031}

◆ downcast_construct_call() [94/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
KeyboardButtonType obj,
const T &  func 
)

Definition at line 31072 of file td_api.hpp.

31072 {
31073 return downcast_call_impl<T, true>(constructor, obj, func);
31074}

◆ downcast_construct_call() [95/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
LanguagePackStringValue obj,
const T &  func 
)

Definition at line 31163 of file td_api.hpp.

31163 {
31164 return downcast_call_impl<T, true>(constructor, obj, func);
31165}

◆ downcast_construct_call() [96/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
LinkPreviewAlbumMedia obj,
const T &  func 
)

Definition at line 31214 of file td_api.hpp.

31214 {
31215 return downcast_call_impl<T, true>(constructor, obj, func);
31216}

◆ downcast_construct_call() [97/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
LinkPreviewType obj,
const T &  func 
)

Definition at line 31257 of file td_api.hpp.

31257 {
31258 return downcast_call_impl<T, true>(constructor, obj, func);
31259}

◆ downcast_construct_call() [98/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
LoginUrlInfo obj,
const T &  func 
)

Definition at line 31647 of file td_api.hpp.

31647 {
31648 return downcast_call_impl<T, true>(constructor, obj, func);
31649}

◆ downcast_construct_call() [99/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
LogStream obj,
const T &  func 
)

Definition at line 31596 of file td_api.hpp.

31596 {
31597 return downcast_call_impl<T, true>(constructor, obj, func);
31598}

◆ downcast_construct_call() [100/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MaskPoint obj,
const T &  func 
)

Definition at line 31690 of file td_api.hpp.

31690 {
31691 return downcast_call_impl<T, true>(constructor, obj, func);
31692}

◆ downcast_construct_call() [101/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageContent obj,
const T &  func 
)

Definition at line 31749 of file td_api.hpp.

31749 {
31750 return downcast_call_impl<T, true>(constructor, obj, func);
31751}

◆ downcast_construct_call() [102/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageEffectType obj,
const T &  func 
)

Definition at line 32576 of file td_api.hpp.

32576 {
32577 return downcast_call_impl<T, true>(constructor, obj, func);
32578}

◆ downcast_construct_call() [103/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageFileType obj,
const T &  func 
)

Definition at line 32619 of file td_api.hpp.

32619 {
32620 return downcast_call_impl<T, true>(constructor, obj, func);
32621}

◆ downcast_construct_call() [104/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageOrigin obj,
const T &  func 
)

Definition at line 32670 of file td_api.hpp.

32670 {
32671 return downcast_call_impl<T, true>(constructor, obj, func);
32672}

◆ downcast_construct_call() [105/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageReadDate obj,
const T &  func 
)

Definition at line 32729 of file td_api.hpp.

32729 {
32730 return downcast_call_impl<T, true>(constructor, obj, func);
32731}

◆ downcast_construct_call() [106/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageReplyTo obj,
const T &  func 
)

Definition at line 32796 of file td_api.hpp.

32796 {
32797 return downcast_call_impl<T, true>(constructor, obj, func);
32798}

◆ downcast_construct_call() [107/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageSchedulingState obj,
const T &  func 
)

Definition at line 32839 of file td_api.hpp.

32839 {
32840 return downcast_call_impl<T, true>(constructor, obj, func);
32841}

◆ downcast_construct_call() [108/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageSelfDestructType obj,
const T &  func 
)

Definition at line 32890 of file td_api.hpp.

32890 {
32891 return downcast_call_impl<T, true>(constructor, obj, func);
32892}

◆ downcast_construct_call() [109/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageSender obj,
const T &  func 
)

Definition at line 32933 of file td_api.hpp.

32933 {
32934 return downcast_call_impl<T, true>(constructor, obj, func);
32935}

◆ downcast_construct_call() [110/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageSendingState obj,
const T &  func 
)

Definition at line 32976 of file td_api.hpp.

32976 {
32977 return downcast_call_impl<T, true>(constructor, obj, func);
32978}

◆ downcast_construct_call() [111/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageSource obj,
const T &  func 
)

Definition at line 33019 of file td_api.hpp.

33019 {
33020 return downcast_call_impl<T, true>(constructor, obj, func);
33021}

◆ downcast_construct_call() [112/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
MessageTopic obj,
const T &  func 
)

Definition at line 33134 of file td_api.hpp.

33134 {
33135 return downcast_call_impl<T, true>(constructor, obj, func);
33136}

◆ downcast_construct_call() [113/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
NetworkStatisticsEntry obj,
const T &  func 
)

Definition at line 33193 of file td_api.hpp.

33193 {
33194 return downcast_call_impl<T, true>(constructor, obj, func);
33195}

◆ downcast_construct_call() [114/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
NetworkType obj,
const T &  func 
)

Definition at line 33236 of file td_api.hpp.

33236 {
33237 return downcast_call_impl<T, true>(constructor, obj, func);
33238}

◆ downcast_construct_call() [115/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
NotificationGroupType obj,
const T &  func 
)

Definition at line 33303 of file td_api.hpp.

33303 {
33304 return downcast_call_impl<T, true>(constructor, obj, func);
33305}

◆ downcast_construct_call() [116/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
NotificationSettingsScope obj,
const T &  func 
)

Definition at line 33362 of file td_api.hpp.

33362 {
33363 return downcast_call_impl<T, true>(constructor, obj, func);
33364}

◆ downcast_construct_call() [117/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
NotificationType obj,
const T &  func 
)

Definition at line 33413 of file td_api.hpp.

33413 {
33414 return downcast_call_impl<T, true>(constructor, obj, func);
33415}

◆ downcast_construct_call() [118/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
Object obj,
const T &  func 
)

Definition at line 54 of file td_api.hpp.

54 {
55 return downcast_call_impl<T, true>(constructor, obj, func);
56}

◆ downcast_construct_call() [119/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
OptionValue obj,
const T &  func 
)

Definition at line 33472 of file td_api.hpp.

33472 {
33473 return downcast_call_impl<T, true>(constructor, obj, func);
33474}

◆ downcast_construct_call() [120/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PageBlock obj,
const T &  func 
)

Definition at line 33531 of file td_api.hpp.

33531 {
33532 return downcast_call_impl<T, true>(constructor, obj, func);
33533}

◆ downcast_construct_call() [121/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PageBlockHorizontalAlignment obj,
const T &  func 
)

Definition at line 33790 of file td_api.hpp.

33790 {
33791 return downcast_call_impl<T, true>(constructor, obj, func);
33792}

◆ downcast_construct_call() [122/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PageBlockVerticalAlignment obj,
const T &  func 
)

Definition at line 33841 of file td_api.hpp.

33841 {
33842 return downcast_call_impl<T, true>(constructor, obj, func);
33843}

◆ downcast_construct_call() [123/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PaidMedia obj,
const T &  func 
)

Definition at line 33892 of file td_api.hpp.

33892 {
33893 return downcast_call_impl<T, true>(constructor, obj, func);
33894}

◆ downcast_construct_call() [124/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PaidReactionType obj,
const T &  func 
)

Definition at line 33951 of file td_api.hpp.

33951 {
33952 return downcast_call_impl<T, true>(constructor, obj, func);
33953}

◆ downcast_construct_call() [125/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PassportElement obj,
const T &  func 
)

Definition at line 34002 of file td_api.hpp.

34002 {
34003 return downcast_call_impl<T, true>(constructor, obj, func);
34004}

◆ downcast_construct_call() [126/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PassportElementErrorSource obj,
const T &  func 
)

Definition at line 34133 of file td_api.hpp.

34133 {
34134 return downcast_call_impl<T, true>(constructor, obj, func);
34135}

◆ downcast_construct_call() [127/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PassportElementType obj,
const T &  func 
)

Definition at line 34232 of file td_api.hpp.

34232 {
34233 return downcast_call_impl<T, true>(constructor, obj, func);
34234}

◆ downcast_construct_call() [128/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PaymentFormType obj,
const T &  func 
)

Definition at line 34363 of file td_api.hpp.

34363 {
34364 return downcast_call_impl<T, true>(constructor, obj, func);
34365}

◆ downcast_construct_call() [129/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PaymentProvider obj,
const T &  func 
)

Definition at line 34414 of file td_api.hpp.

34414 {
34415 return downcast_call_impl<T, true>(constructor, obj, func);
34416}

◆ downcast_construct_call() [130/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PaymentReceiptType obj,
const T &  func 
)

Definition at line 34465 of file td_api.hpp.

34465 {
34466 return downcast_call_impl<T, true>(constructor, obj, func);
34467}

◆ downcast_construct_call() [131/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PhoneNumberCodeType obj,
const T &  func 
)

Definition at line 34508 of file td_api.hpp.

34508 {
34509 return downcast_call_impl<T, true>(constructor, obj, func);
34510}

◆ downcast_construct_call() [132/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PollType obj,
const T &  func 
)

Definition at line 34559 of file td_api.hpp.

34559 {
34560 return downcast_call_impl<T, true>(constructor, obj, func);
34561}

◆ downcast_construct_call() [133/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PollVoteRestrictionReason obj,
const T &  func 
)

Definition at line 34602 of file td_api.hpp.

34602 {
34603 return downcast_call_impl<T, true>(constructor, obj, func);
34604}

◆ downcast_construct_call() [134/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PremiumFeature obj,
const T &  func 
)

Definition at line 34645 of file td_api.hpp.

34645 {
34646 return downcast_call_impl<T, true>(constructor, obj, func);
34647}

◆ downcast_construct_call() [135/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PremiumLimitType obj,
const T &  func 
)

Definition at line 34896 of file td_api.hpp.

34896 {
34897 return downcast_call_impl<T, true>(constructor, obj, func);
34898}

◆ downcast_construct_call() [136/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PremiumSource obj,
const T &  func 
)

Definition at line 35091 of file td_api.hpp.

35091 {
35092 return downcast_call_impl<T, true>(constructor, obj, func);
35093}

◆ downcast_construct_call() [137/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PremiumStoryFeature obj,
const T &  func 
)

Definition at line 35166 of file td_api.hpp.

35166 {
35167 return downcast_call_impl<T, true>(constructor, obj, func);
35168}

◆ downcast_construct_call() [138/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ProfileTab obj,
const T &  func 
)

Definition at line 35249 of file td_api.hpp.

35249 {
35250 return downcast_call_impl<T, true>(constructor, obj, func);
35251}

◆ downcast_construct_call() [139/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ProxyType obj,
const T &  func 
)

Definition at line 35340 of file td_api.hpp.

35340 {
35341 return downcast_call_impl<T, true>(constructor, obj, func);
35342}

◆ downcast_construct_call() [140/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PublicChatType obj,
const T &  func 
)

Definition at line 35391 of file td_api.hpp.

35391 {
35392 return downcast_call_impl<T, true>(constructor, obj, func);
35393}

◆ downcast_construct_call() [141/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PublicForward obj,
const T &  func 
)

Definition at line 35434 of file td_api.hpp.

35434 {
35435 return downcast_call_impl<T, true>(constructor, obj, func);
35436}

◆ downcast_construct_call() [142/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
PushMessageContent obj,
const T &  func 
)

Definition at line 35477 of file td_api.hpp.

35477 {
35478 return downcast_call_impl<T, true>(constructor, obj, func);
35479}

◆ downcast_construct_call() [143/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReactionNotificationSource obj,
const T &  func 
)

Definition at line 35872 of file td_api.hpp.

35872 {
35873 return downcast_call_impl<T, true>(constructor, obj, func);
35874}

◆ downcast_construct_call() [144/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReactionType obj,
const T &  func 
)

Definition at line 35923 of file td_api.hpp.

35923 {
35924 return downcast_call_impl<T, true>(constructor, obj, func);
35925}

◆ downcast_construct_call() [145/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReactionUnavailabilityReason obj,
const T &  func 
)

Definition at line 35974 of file td_api.hpp.

35974 {
35975 return downcast_call_impl<T, true>(constructor, obj, func);
35976}

◆ downcast_construct_call() [146/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReplyMarkup obj,
const T &  func 
)

Definition at line 36017 of file td_api.hpp.

36017 {
36018 return downcast_call_impl<T, true>(constructor, obj, func);
36019}

◆ downcast_construct_call() [147/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReportChatResult obj,
const T &  func 
)

Definition at line 36076 of file td_api.hpp.

36076 {
36077 return downcast_call_impl<T, true>(constructor, obj, func);
36078}

◆ downcast_construct_call() [148/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReportReason obj,
const T &  func 
)

Definition at line 36135 of file td_api.hpp.

36135 {
36136 return downcast_call_impl<T, true>(constructor, obj, func);
36137}

◆ downcast_construct_call() [149/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReportSponsoredResult obj,
const T &  func 
)

Definition at line 36242 of file td_api.hpp.

36242 {
36243 return downcast_call_impl<T, true>(constructor, obj, func);
36244}

◆ downcast_construct_call() [150/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ReportStoryResult obj,
const T &  func 
)

Definition at line 36309 of file td_api.hpp.

36309 {
36310 return downcast_call_impl<T, true>(constructor, obj, func);
36311}

◆ downcast_construct_call() [151/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ResendCodeReason obj,
const T &  func 
)

Definition at line 36360 of file td_api.hpp.

36360 {
36361 return downcast_call_impl<T, true>(constructor, obj, func);
36362}

◆ downcast_construct_call() [152/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ResetPasswordResult obj,
const T &  func 
)

Definition at line 36403 of file td_api.hpp.

36403 {
36404 return downcast_call_impl<T, true>(constructor, obj, func);
36405}

◆ downcast_construct_call() [153/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
RevenueWithdrawalState obj,
const T &  func 
)

Definition at line 36454 of file td_api.hpp.

36454 {
36455 return downcast_call_impl<T, true>(constructor, obj, func);
36456}

◆ downcast_construct_call() [154/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
RichText obj,
const T &  func 
)

Definition at line 36505 of file td_api.hpp.

36505 {
36506 return downcast_call_impl<T, true>(constructor, obj, func);
36507}

◆ downcast_construct_call() [155/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SavedMessagesTopicType obj,
const T &  func 
)

Definition at line 36668 of file td_api.hpp.

36668 {
36669 return downcast_call_impl<T, true>(constructor, obj, func);
36670}

◆ downcast_construct_call() [156/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SearchMessagesChatTypeFilter obj,
const T &  func 
)

Definition at line 36719 of file td_api.hpp.

36719 {
36720 return downcast_call_impl<T, true>(constructor, obj, func);
36721}

◆ downcast_construct_call() [157/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SearchMessagesFilter obj,
const T &  func 
)

Definition at line 36770 of file td_api.hpp.

36770 {
36771 return downcast_call_impl<T, true>(constructor, obj, func);
36772}

◆ downcast_construct_call() [158/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SecretChatState obj,
const T &  func 
)

Definition at line 36949 of file td_api.hpp.

36949 {
36950 return downcast_call_impl<T, true>(constructor, obj, func);
36951}

◆ downcast_construct_call() [159/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SentGift obj,
const T &  func 
)

Definition at line 37000 of file td_api.hpp.

37000 {
37001 return downcast_call_impl<T, true>(constructor, obj, func);
37002}

◆ downcast_construct_call() [160/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SessionType obj,
const T &  func 
)

Definition at line 37043 of file td_api.hpp.

37043 {
37044 return downcast_call_impl<T, true>(constructor, obj, func);
37045}

◆ downcast_construct_call() [161/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SettingsSection obj,
const T &  func 
)

Definition at line 37206 of file td_api.hpp.

37206 {
37207 return downcast_call_impl<T, true>(constructor, obj, func);
37208}

◆ downcast_construct_call() [162/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SpeechRecognitionResult obj,
const T &  func 
)

Definition at line 37401 of file td_api.hpp.

37401 {
37402 return downcast_call_impl<T, true>(constructor, obj, func);
37403}

◆ downcast_construct_call() [163/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StarSubscriptionType obj,
const T &  func 
)

Definition at line 37452 of file td_api.hpp.

37452 {
37453 return downcast_call_impl<T, true>(constructor, obj, func);
37454}

◆ downcast_construct_call() [164/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StartLiveStoryResult obj,
const T &  func 
)

Definition at line 37882 of file td_api.hpp.

37882 {
37883 return downcast_call_impl<T, true>(constructor, obj, func);
37884}

◆ downcast_construct_call() [165/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StarTransactionType obj,
const T &  func 
)

Definition at line 37495 of file td_api.hpp.

37495 {
37496 return downcast_call_impl<T, true>(constructor, obj, func);
37497}

◆ downcast_construct_call() [166/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StatisticalGraph obj,
const T &  func 
)

Definition at line 37925 of file td_api.hpp.

37925 {
37926 return downcast_call_impl<T, true>(constructor, obj, func);
37927}

◆ downcast_construct_call() [167/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StickerFormat obj,
const T &  func 
)

Definition at line 37976 of file td_api.hpp.

37976 {
37977 return downcast_call_impl<T, true>(constructor, obj, func);
37978}

◆ downcast_construct_call() [168/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StickerFullType obj,
const T &  func 
)

Definition at line 38027 of file td_api.hpp.

38027 {
38028 return downcast_call_impl<T, true>(constructor, obj, func);
38029}

◆ downcast_construct_call() [169/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StickerType obj,
const T &  func 
)

Definition at line 38078 of file td_api.hpp.

38078 {
38079 return downcast_call_impl<T, true>(constructor, obj, func);
38080}

◆ downcast_construct_call() [170/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StorePaymentPurpose obj,
const T &  func 
)

Definition at line 38129 of file td_api.hpp.

38129 {
38130 return downcast_call_impl<T, true>(constructor, obj, func);
38131}

◆ downcast_construct_call() [171/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoreTransaction obj,
const T &  func 
)

Definition at line 38212 of file td_api.hpp.

38212 {
38213 return downcast_call_impl<T, true>(constructor, obj, func);
38214}

◆ downcast_construct_call() [172/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryAreaType obj,
const T &  func 
)

Definition at line 38255 of file td_api.hpp.

38255 {
38256 return downcast_call_impl<T, true>(constructor, obj, func);
38257}

◆ downcast_construct_call() [173/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryContent obj,
const T &  func 
)

Definition at line 38338 of file td_api.hpp.

38338 {
38339 return downcast_call_impl<T, true>(constructor, obj, func);
38340}

◆ downcast_construct_call() [174/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryContentType obj,
const T &  func 
)

Definition at line 38397 of file td_api.hpp.

38397 {
38398 return downcast_call_impl<T, true>(constructor, obj, func);
38399}

◆ downcast_construct_call() [175/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryInteractionType obj,
const T &  func 
)

Definition at line 38456 of file td_api.hpp.

38456 {
38457 return downcast_call_impl<T, true>(constructor, obj, func);
38458}

◆ downcast_construct_call() [176/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryList obj,
const T &  func 
)

Definition at line 38507 of file td_api.hpp.

38507 {
38508 return downcast_call_impl<T, true>(constructor, obj, func);
38509}

◆ downcast_construct_call() [177/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryOrigin obj,
const T &  func 
)

Definition at line 38550 of file td_api.hpp.

38550 {
38551 return downcast_call_impl<T, true>(constructor, obj, func);
38552}

◆ downcast_construct_call() [178/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
StoryPrivacySettings obj,
const T &  func 
)

Definition at line 38593 of file td_api.hpp.

38593 {
38594 return downcast_call_impl<T, true>(constructor, obj, func);
38595}

◆ downcast_construct_call() [179/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SuggestedAction obj,
const T &  func 
)

Definition at line 38652 of file td_api.hpp.

38652 {
38653 return downcast_call_impl<T, true>(constructor, obj, func);
38654}

◆ downcast_construct_call() [180/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SuggestedPostPrice obj,
const T &  func 
)

Definition at line 38815 of file td_api.hpp.

38815 {
38816 return downcast_call_impl<T, true>(constructor, obj, func);
38817}

◆ downcast_construct_call() [181/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SuggestedPostRefundReason obj,
const T &  func 
)

Definition at line 38858 of file td_api.hpp.

38858 {
38859 return downcast_call_impl<T, true>(constructor, obj, func);
38860}

◆ downcast_construct_call() [182/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SuggestedPostState obj,
const T &  func 
)

Definition at line 38901 of file td_api.hpp.

38901 {
38902 return downcast_call_impl<T, true>(constructor, obj, func);
38903}

◆ downcast_construct_call() [183/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
SupergroupMembersFilter obj,
const T &  func 
)

Definition at line 38952 of file td_api.hpp.

38952 {
38953 return downcast_call_impl<T, true>(constructor, obj, func);
38954}

◆ downcast_construct_call() [184/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TargetChat obj,
const T &  func 
)

Definition at line 39102 of file td_api.hpp.

39102 {
39103 return downcast_call_impl<T, true>(constructor, obj, func);
39104}

◆ downcast_construct_call() [185/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TelegramPaymentPurpose obj,
const T &  func 
)

Definition at line 39153 of file td_api.hpp.

39153 {
39154 return downcast_call_impl<T, true>(constructor, obj, func);
39155}

◆ downcast_construct_call() [186/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TextEntityType obj,
const T &  func 
)

Definition at line 39236 of file td_api.hpp.

39236 {
39237 return downcast_call_impl<T, true>(constructor, obj, func);
39238}

◆ downcast_construct_call() [187/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TextParseMode obj,
const T &  func 
)

Definition at line 39447 of file td_api.hpp.

39447 {
39448 return downcast_call_impl<T, true>(constructor, obj, func);
39449}

◆ downcast_construct_call() [188/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
ThumbnailFormat obj,
const T &  func 
)

Definition at line 39490 of file td_api.hpp.

39490 {
39491 return downcast_call_impl<T, true>(constructor, obj, func);
39492}

◆ downcast_construct_call() [189/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TMeUrlType obj,
const T &  func 
)

Definition at line 39043 of file td_api.hpp.

39043 {
39044 return downcast_call_impl<T, true>(constructor, obj, func);
39045}

◆ downcast_construct_call() [190/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TonTransactionType obj,
const T &  func 
)

Definition at line 39573 of file td_api.hpp.

39573 {
39574 return downcast_call_impl<T, true>(constructor, obj, func);
39575}

◆ downcast_construct_call() [191/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TopChatCategory obj,
const T &  func 
)

Definition at line 39672 of file td_api.hpp.

39672 {
39673 return downcast_call_impl<T, true>(constructor, obj, func);
39674}

◆ downcast_construct_call() [192/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
TransactionDirection obj,
const T &  func 
)

Definition at line 39771 of file td_api.hpp.

39771 {
39772 return downcast_call_impl<T, true>(constructor, obj, func);
39773}

◆ downcast_construct_call() [193/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
Update obj,
const T &  func 
)

Definition at line 39814 of file td_api.hpp.

39814 {
39815 return downcast_call_impl<T, true>(constructor, obj, func);
39816}

◆ downcast_construct_call() [194/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UpgradedGiftAttributeId obj,
const T &  func 
)

Definition at line 41281 of file td_api.hpp.

41281 {
41282 return downcast_call_impl<T, true>(constructor, obj, func);
41283}

◆ downcast_construct_call() [195/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UpgradedGiftAttributeRarity obj,
const T &  func 
)

Definition at line 41332 of file td_api.hpp.

41332 {
41333 return downcast_call_impl<T, true>(constructor, obj, func);
41334}

◆ downcast_construct_call() [196/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UpgradedGiftOrigin obj,
const T &  func 
)

Definition at line 41399 of file td_api.hpp.

41399 {
41400 return downcast_call_impl<T, true>(constructor, obj, func);
41401}

◆ downcast_construct_call() [197/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UserPrivacySetting obj,
const T &  func 
)

Definition at line 41482 of file td_api.hpp.

41482 {
41483 return downcast_call_impl<T, true>(constructor, obj, func);
41484}

◆ downcast_construct_call() [198/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UserPrivacySettingRule obj,
const T &  func 
)

Definition at line 41621 of file td_api.hpp.

41621 {
41622 return downcast_call_impl<T, true>(constructor, obj, func);
41623}

◆ downcast_construct_call() [199/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UserStatus obj,
const T &  func 
)

Definition at line 41736 of file td_api.hpp.

41736 {
41737 return downcast_call_impl<T, true>(constructor, obj, func);
41738}

◆ downcast_construct_call() [200/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
UserType obj,
const T &  func 
)

Definition at line 41811 of file td_api.hpp.

41811 {
41812 return downcast_call_impl<T, true>(constructor, obj, func);
41813}

◆ downcast_construct_call() [201/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
VectorPathCommand obj,
const T &  func 
)

Definition at line 41870 of file td_api.hpp.

41870 {
41871 return downcast_call_impl<T, true>(constructor, obj, func);
41872}

◆ downcast_construct_call() [202/202]

template<class T >
bool td::td_api::downcast_construct_call ( int32  constructor,
WebAppOpenMode obj,
const T &  func 
)

Definition at line 41913 of file td_api.hpp.

41913 {
41914 return downcast_call_impl<T, true>(constructor, obj, func);
41915}