From d2c51ae79bca9b7c87f87ff458f77a6f07fff9a6 Mon Sep 17 00:00:00 2001
From: "Wu, Ke" <wuke@cs.umd.edu>
Date: Wed, 17 Dec 2014 10:42:18 -0500
Subject: Warn about possible misuse of IgnoredStateSize() related functions

---
 decoder/ff.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/decoder/ff.h b/decoder/ff.h
index afa3dbca..647b4834 100644
--- a/decoder/ff.h
+++ b/decoder/ff.h
@@ -27,6 +27,12 @@ class FeatureFunction {
   // search. When non-zero, the last N bytes in the state should be ignored when
   // splitting a hypernode by the state. This allows the feature function to
   // store some side data and later retrieve it via the state bytes.
+  //
+  // In general, this should not be necessary and it should always be possible
+  // to replace this with a more appropriate design of state (if you find
+  // yourself having to ignore some part of the state, you are most likely
+  // storing redundant information in the state). Be sure that you
+  // understand how this affects ApplyModelSet() before using it.
   int IgnoredStateSize() const { return ignored_state_size_; }
 
   // override this.  not virtual because we want to expose this to factory template for help before creating a FF
@@ -82,6 +88,7 @@ class FeatureFunction {
     state_size_ = state_size;
   }
 
+  // See document of IgnoredStateSize() above.
   void SetIgnoredStateSize(size_t ignored_state_size) {
     ignored_state_size_ = ignored_state_size;
   }
-- 
cgit v1.2.3