52 lines
		
	
	
		
			981 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			981 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if !defined(RXCPP_SOURCES_RX_NEVER_HPP)
							 | 
						||
| 
								 | 
							
								#define RXCPP_SOURCES_RX_NEVER_HPP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "../rx-includes.hpp"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*! \file rx-never.hpp
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    \brief Returns an observable that never sends any items or notifications to observer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    \tparam T  the type of (not) emitted items
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    \return  Observable that never sends any items or notifications to observer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    \sample
							 | 
						||
| 
								 | 
							
								    \snippet never.cpp never sample
							 | 
						||
| 
								 | 
							
								    \snippet output.txt never sample
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace rxcpp {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace sources {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace detail {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template<class T>
							 | 
						||
| 
								 | 
							
								struct never : public source_base<T>
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    template<class Subscriber>
							 | 
						||
| 
								 | 
							
								    void on_subscribe(Subscriber) const {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*! @copydoc rx-never.hpp
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								template<class T>
							 | 
						||
| 
								 | 
							
								auto never()
							 | 
						||
| 
								 | 
							
								    ->      observable<T, detail::never<T>> {
							 | 
						||
| 
								 | 
							
								    return  observable<T, detail::never<T>>(detail::never<T>());
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |