Browse Source

Added ebb_prim:is_operation/1.

Paul Downen 13 years ago
parent
commit
d46fde27b0
1 changed files with 15 additions and 1 deletions
  1. 15 1
      src/ebb_prim.erl

+ 15 - 1
src/ebb_prim.erl

@@ -10,7 +10,10 @@
 	 switch/1]).
 
 %%% Operation querying
--export([in_arity/1, out_arity/1, flatten_arity/1, can_connect/2]).
+-export([is_operation/1,
+	 in_arity/1, out_arity/1,
+	 flatten_arity/1,
+	 can_connect/2]).
 
 %%%-----------------------------------------------------------------------------
 %%% Operation construction
@@ -75,6 +78,17 @@ switch(Map = [{_Tag1, Op1}|Rest]) ->
 %%% Operation querying
 %%%-----------------------------------------------------------------------------
 
+is_operation(#func{})   -> true;
+is_operation(#value{})  -> true;
+is_operation(#pipe{})   -> true;
+is_operation(#par{})    -> true;
+is_operation(#route{})  -> true;
+is_operation(#sync{})   -> true;
+is_operation(#split{})  -> true;
+is_operation(#merge{})  -> true;
+is_operation(#switch{}) -> true;
+is_operation(_)         -> false.
+
 in_arity(#func{in=In})   -> In;
 in_arity(#value{})       -> 0;
 in_arity(#pipe{in=In})   -> In;