FastLED 3.9.15
Loading...
Searching...
No Matches

◆ make_shared()

template<typename T, typename... Args>
shared_ptr< T > fl::make_shared ( Args &&... args)
Examples
FxDemoReel100.ino, FxFire2012.ino, and FxGfx2Video.ino.

Definition at line 414 of file shared_ptr.h.

414 {
415 auto* control = new detail::InlinedControlBlock<T>();
416 T* obj = control->get_object();
417 new(obj) T(fl::forward<Args>(args)...); // Placement new
418 control->object_constructed = true;
419 return shared_ptr<T>(obj, control, detail::make_shared_tag{});
420}
constexpr T && forward(typename remove_reference< T >::type &t) FL_NOEXCEPT
Definition s16x16x4.h:234
corkscrew_args args
Definition old.h:149

Referenced by fl::audio::detector::Backbeat::Backbeat(), fl::Blend2d::Blend2d(), fl::DigitalPin::DigitalPin(), fl::audio::detector::Downbeat::Downbeat(), fl::FxCompositor::FxCompositor(), fl::HttpRequestParser::HttpRequestParser(), fl::HttpResponseParser::HttpResponseParser(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::json::json(), fl::LinePath::LinePath(), fl::MultiChannelConfig::MultiChannelConfig(), fl::MultiChannelConfig::MultiChannelConfig(), fl::audio::detector::Note::Note(), fl::audio::Processor::Processor(), fl::audio::Reactive::Reactive(), fl::RosePath::RosePath(), fl::ScreenMap::ScreenMap(), fl::ScreenMap::ScreenMap(), fl::ScreenMap::ScreenMap(), fl::Video::Video(), fl::video::VideoImpl::VideoImpl(), fl::XYPath::XYPath(), fl::audio::AudioManager::add(), fl::FxEngine::addFx(), fl::UIDropdown::addNextButton(), fl::task::after_frame(), fl::task::after_frame(), fl::shared_ptr< filebuf >::allocate_shared, fl::third_party::SoftwareMpeg1Decoder::allocateFrameBuffers(), fl::string::appendHex(), fl::basic_string::assign(), fl::basic_string::assign(), fl::basic_string::assign(), fl::task::at_framerate(), fl::task::at_framerate(), fl::task::before_frame(), fl::task::before_frame(), AudioReactive::begin(), fl::video::VideoImpl::begin(), fl::Rpc::bindAsync(), fl::basic_string::c_str_mutable(), fl::json_value::clone_array(), fl::XYMap::constructWithLookUpTable(), fl::third_party::SoftwareGifDecoder::convertBitmapToFrame(), fl::XMap::convertToLookUpTable(), fl::XYMap::convertToLookUpTable(), fl::basic_string::copy(), fl::task::coroutine(), fl::audio::ISynthEngine::create(), fl::audio::ISynthOscillator::create(), fl::Channel::create(), fl::ChannelData::create(), fl::ChannelData::create(), fl::RxChannel::create(), fl::SpiChannelEngineAdapter::create(), fl::task::Promise< T >::create(), CreateArgsLower(), CreateArgsUpper(), fl::Gif::createDecoder(), fl::Jpeg::createDecoder(), fl::Mp3::createDecoder(), fl::Mpeg1::createDecoder(), fl::Vorbis::createDecoder(), fl::RxDevice::createDummy(), createFastLEDController(), fl::third_party::createTJpgInstanceDecoder(), fl::audio::Processor::createWithAutoInput(), fl::Jpeg::decode(), fl::Jpeg::decode(), fl::third_party::SoftwareMpeg1Decoder::decodeFrame(), fl::Mpeg1FileHandle::decodeNextFrameIfNeeded(), fl::Jpeg::decodeWithTimeout(), fl::FxLayer::draw(), fl::video::VideoImpl::draw(), fl::basic_string::erase(), fl::task::every_ms(), fl::task::every_ms(), FL_DISABLE_WARNING(), fl::json::from_char(), fl::json_value::from_char(), fl::json::fromValue(), fl::XYMap::fromXMap(), fl::audio::fft::FFT::ImplCache::get_or_create(), fl::anonymous_namespace{json.cpp.hpp}::JsonBuilder::get_result(), fl::audio::Processor::getBackbeatDetector(), fl::audio::Processor::getBeatDetector(), fl::audio::Processor::getBuildupDetector(), fl::audio::Processor::getChordDetector(), fl::audio::Processor::getDownbeatDetector(), fl::audio::Processor::getDropDetector(), fl::audio::Processor::getDynamicsAnalyzer(), fl::audio::Processor::getEnergyAnalyzer(), fl::audio::Processor::getEqualizerDetector(), fl::audio::Context::getFFT(), fl::audio::Processor::getFrequencyBands(), fl::audio::Processor::getKeyDetector(), fl::audio::Processor::getMoodAnalyzer(), fl::audio::Processor::getNoteDetector(), fl::audio::anonymous_namespace{audio.cpp.hpp}::AudioSamplePool::getOrCreate(), fl::Gamma8::getOrCreate(), fl::Corkscrew::getOrCreateInputSurface(), fl::audio::Processor::getPercussionDetector(), fl::audio::Processor::getPitchDetector(), fl::audio::Processor::getSilenceDetector(), fl::audio::Processor::getTempoAnalyzer(), fl::audio::Processor::getTransientDetector(), fl::audio::Processor::getVibeDetector(), fl::audio::Processor::getVocalDetector(), fl::basic_string::heapData(), fl::TransformFloatImpl::Identity(), fl::third_party::TJpgInstanceDecoder::initializeDecoder(), fl::basic_string::insert(), fl::basic_string::insert(), fl::StringInterner::intern(), fl::Font::load(), anonymous_namespace{xypaths.cpp}::make_path(), make_shared_ptr(), fl::basic_string::materialize(), fl::XYPath::NewArchimedeanSpiralPath(), fl::XYPath::NewArchimedeanSpiralPath(), fl::XYPath::NewCatmullRomPath(), fl::XYPath::NewCirclePath(), fl::XYPath::NewCirclePath(), fl::XYPath::NewCustomPath(), fl::XYPath::NewGielisCurvePath(), fl::XYPath::NewHeartPath(), fl::XYPath::NewHeartPath(), fl::XYPath::NewLinePath(), fl::XYPath::NewLinePath(), fl::XYPath::NewPhyllotaxisPath(), fl::XYPath::NewPointPath(), fl::XYPath::NewRosePath(), NewWaveSimulation2D(), fl::anonymous_namespace{json.cpp.hpp}::JsonBuilder::on_token(), fl::fstream::open(), fl::ifstream::open(), fl::ofstream::open(), fl::FileSystem::openMpeg1Video(), fl::NullFileSystem::openRead(), fl::json::operator=(), fl::json::operator=(), fl::json::operator[](), fl::json_value::operator[](), fl::json_value::operator[](), fl::anonymous_namespace{json.cpp.hpp}::optimize_array(), fl::json_value::parse2(), fl::Gif::parseGifInfo(), fl::Mpeg1::parseMpeg1Info(), fl::video::VideoImpl::pause(), fl::audio::platform_create_audio_input(), fl::audio::AutoGain::process(), CodecProcessor::processGif(), CodecProcessor::processMpeg1(), fl::audio::SignalConditioner::processSample(), fl::json::push_back(), AutoResearchRemoteControl::registerFunctions(), fl::Rpc::registerMethod(), fl::basic_string::replace(), fl::basic_string::replace(), fl::basic_string::reserve(), fl::HttpRequestParser::reset(), fl::HttpResponseParser::reset(), fl::video::VideoImpl::resume(), fl::net::http::HttpStreamTransport::rpcStream(), fl::json::set(), setup(), fl::basic_string::shrink_to_fit(), fl::basic_string::swapWith(), fl::json_value::to_string(), fl::XYMap::toScreenMap(), fl::video::VideoImpl::updateBufferFromFile(), and fl::video::VideoImpl::updateBufferFromStream().